Skip to content
Snippets Groups Projects
Commit 88f30dee authored by Douglas Gregor's avatar Douglas Gregor
Browse files

Test template instantiation of pack expansions where the parameter pack is in...

Test template instantiation of pack expansions where the parameter pack is in a nested-name-specifier

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122282 91177308-0d34-0410-b5e6-96231b3b80d8
parent 592f241d
No related branches found
No related tags found
No related merge requests found
// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
template<typename... Types> struct Tuple;
template<typename... Types> struct tuple;
// FIXME: Many more bullets to go
// In a template-argument-list (14.3); the pattern is a template-argument.
template<typename ...Types>
struct tuple_of_refs {
typedef Tuple<Types& ...> types;
typedef tuple<Types& ...> types;
};
Tuple<int&, float&> *t_int_ref_float_ref;
tuple<int&, float&> *t_int_ref_float_ref;
tuple_of_refs<int&, float&>::types *t_int_ref_float_ref_2 = t_int_ref_float_ref;
template<typename ...Types>
struct extract_nested_types {
typedef tuple<typename Types::type...> types;
};
template<typename T>
struct identity {
typedef T type;
};
tuple<int, float> *t_int_float;
extract_nested_types<identity<int>, identity<float> >::types *t_int_float_2
= t_int_float;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment