Namespace Dune::XT

extracts types of the elements of a std::tuple and creates a new std::tuple with these extracted types.

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

TUPLE_TYPEDEFS_2_TUPLE( t_, s_ )

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

class A { public: using MyFancyType = int; }; class B { public: using MyFancyType = int; };

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< A, B, B > MyTuple;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef std::tuple< typename tuple_element<0,MyTuple>::type::MyFancyType, typename tuple_element<1,MyTuple>::type::MyFancyType, typename tuple_element<2,MyTuple>::type::MyFancyType > MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

typedef TUPLE_TYPEDEFS_2_TUPLE( MyTuple, MyFancyType ) MySubTupleType;

first argument: the tuple type second argument: the typedef of the elements of the tuple

first argument: the tuple type second argument: the typedef of the elements of the tuple

first argument: the tuple type second argument: the typedef of the elements of the tuple

first argument: the tuple type second argument: the typedef of the elements of the tuple

first argument: the tuple type second argument: the typedef of the elements of the tuple

first argument: the tuple type second argument: the typedef of the elements of the tuple

example: Let two classes be given:

example: Let two classes be given:

example: Let two classes be given:

example: Let two classes be given:

example: Let two classes be given:

example: Let two classes be given:

Define a tuple, i.e.

Define a tuple, i.e.

Define a tuple, i.e.

Define a tuple, i.e.

Define a tuple, i.e.

Define a tuple, i.e.

Instead of writing

Instead of writing

Instead of writing

Instead of writing

Instead of writing

Instead of writing

just write

just write

just write

just write

just write

just write

without (general) restriction to the size of the tuple MyTuple. Enjoy it!

without (general) restriction to the size of the tuple MyTuple. Enjoy it!

without (general) restriction to the size of the tuple MyTuple. Enjoy it!

without (general) restriction to the size of the tuple MyTuple. Enjoy it!

without (general) restriction to the size of the tuple MyTuple. Enjoy it!

without (general) restriction to the size of the tuple MyTuple. Enjoy it!