|
|
template<size_t I, class... Tags> |
| constexpr tmpl::at_c< tmpl::list< Tags... >, I >::type && | get (TaggedTuple< Tags... > &&t) |
| |
|
template<size_t I, class... Tags> |
| constexpr const tmpl::at_c< tmpl::list< Tags... >, I >::type & | get (const TaggedTuple< Tags... > &t) |
| |
|
template<size_t I, class... Tags> |
| constexpr tmpl::at_c< tmpl::list< Tags... >, I >::type & | get (TaggedTuple< Tags... > &t) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator== (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator!= (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator< (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator> (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator<= (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... LTags, class... RTags, typename std::enable_if< sizeof...(LTags)==sizeof...(RTags)>::type * = nullptr> |
| TUPLES_LIB_CONSTEXPR_CXX_14 bool | operator>= (TaggedTuple< LTags... > const &lhs, TaggedTuple< RTags... > const &rhs) |
| |
|
template<class... Tags, typename std::enable_if< tuples_detail::all< tuples_detail::is_swappable_with< tuples_detail::TaggedTupleLeaf< Tags >, tuples_detail::TaggedTupleLeaf< Tags > >::value... >::value >::type * = nullptr> |
| void | swap (TaggedTuple< Tags... > &lhs, TaggedTuple< Tags... > &rhs) |
| |
| template<typename ReturnedTaggedTuple , typename... Tags> |
| ReturnedTaggedTuple | reorder (TaggedTuple< Tags... > input) |
| | Given an input TaggedTuple, produce an output TaggedTuple with the tags in a different order. All tags must be the same except for ordering. More...
|
| |
|
template<class... Tags> |
| std::ostream & | operator<< (std::ostream &os, const TaggedTuple< Tags... > &t) |
| |
|
|
template<class Tag , class... Tags> |
| constexpr const Tag::type & | get (const TaggedTuple< Tags... > &t) |
| | Retrieve the element of Tag in the TaggedTuple.
|
| |
|
template<class Tag , class... Tags> |
| constexpr Tag::type & | get (TaggedTuple< Tags... > &t) |
| | Retrieve the element of Tag in the TaggedTuple.
|
| |
|
template<class Tag , class... Tags> |
| constexpr const Tag::type && | get (const TaggedTuple< Tags... > &&t) |
| | Retrieve the element of Tag in the TaggedTuple.
|
| |
|
template<class Tag , class... Tags> |
| constexpr Tag::type && | get (TaggedTuple< Tags... > &&t) |
| | Retrieve the element of Tag in the TaggedTuple.
|
| |
|
| template<typename ApplyTags , typename F , typename... Tags> |
| constexpr decltype(auto) | apply (F &&f, const TaggedTuple< Tags... > &t) |
| | Invoke f with the ApplyTags taken from t expanded in a parameter pack. More...
|
| |
| template<typename F , typename... Tags> |
| constexpr decltype(auto) | apply (F &&f, const TaggedTuple< Tags... > &t) |
| | Invoke f with the ApplyTags taken from t expanded in a parameter pack. More...
|
| |
|
| template<typename... Tags1, typename... Tags2> |
| tuples::TaggedTuple< Tags1..., Tags2... > | tagged_tuple_cat (const tuples::TaggedTuple< Tags1... > &tuple1, const tuples::TaggedTuple< Tags2... > &tuple2) |
| |
| template<typename... Tags1, typename... Tags2> |
| tuples::TaggedTuple< Tags1..., Tags2... > | tagged_tuple_cat (tuples::TaggedTuple< Tags1... > &&tuple1, tuples::TaggedTuple< Tags2... > &&tuple2) |
| |
Contains utilities for working with tuples.