![]() |
Arene Base
Fundamental Utilities For Safety Critical C++
|
a heterogeneous, fixed-size collection of values More...

Public Member Functions | |
| template<class U1, class U2, class = enable_if_t< (sizeof...(Types) == 2U) && are_all_arguments_v<is_assignable, U1&&, U2&&> >> | |
| auto | operator= (pair< U1, U2 > &&other) noexcept(are_all_arguments_v< is_nothrow_assignable, U1 &&, U2 && >) -> tuple & |
| move-assign-from-pair constructor | |
| template<class U1, class U2, class = enable_if_t< (sizeof...(Types) == 2U) && are_all_arguments_v<is_assignable, U1 const&, U2 const&> >> | |
| auto | operator= (pair< U1, U2 > const &other) noexcept(are_all_arguments_v< is_nothrow_assignable, U1 const &, U2 const & >) -> tuple & |
| copy-assign-from-pair constructor | |
| template<class... UTypes, class = enable_if_t< (sizeof...(UTypes) != 0U) && are_all_arguments_v<is_assignable, UTypes&&...> >> | |
| auto | operator= (tuple< UTypes... > &&other) noexcept(are_all_arguments_v< is_nothrow_assignable, UTypes &&... >) -> tuple & |
| move-from-other-tuple assignment | |
| template<class... UTypes, class = enable_if_t< (sizeof...(UTypes) != 0U) && are_all_arguments_v<is_assignable, UTypes const&...> >> | |
| auto | operator= (tuple< UTypes... > const &other) noexcept(are_all_arguments_v< is_nothrow_assignable, UTypes const &... >) -> tuple & |
| copy-from-other-tuple assignment | |
| template<bool B = arene::base::all_of_v<arene::base::is_swappable_v<Types>...>, arene::base::constraints< enable_if_t< B > > = nullptr> | |
| auto | swap (tuple &rhs) noexcept(arene::base::all_of_v< arene::base::is_nothrow_swappable_v< Types >... >) -> void |
| swap with another tuple | |
Friends | |
| template<size_t I, class Tuple, arene::base::constraints< std::enable_if_t< std::is_same< Tuple, tuple >::value > > = nullptr> | |
| constexpr auto | __get_tuple_impl (Tuple &tup) noexcept -> tuple_detail::tuple_leaf_t< I, Tuple > & |
obtain the tuple_leaf element at a specified index | |
a heterogeneous, fixed-size collection of values
| Types | the types of elements that the tuple stores |
|
inlinenoexcept |
move-assign-from-pair constructor
| U1 | first parameter to assign from |
| U2 | second parameter to assign from |
| other | pair containing values to initialize with |
Initializes each element of the tuple by moving the values in other
sizeof...(Types) == 2 is true is_assignable<T1, U1&&>::value and is_assignable<T2, U2&&>::value is true
|
inlinenoexcept |
copy-assign-from-pair constructor
| U1 | first parameter to assign from |
| U2 | second parameter to assign from |
| other | pair containing values to initialize with |
Initializes each element of the tuple with a copy of the values in other
sizeof...(Types) == 2 is true is_assignable<T1, U1 const&>::value and is_assignable<T2, U2 const&>::value is true
|
inlinenoexcept |
move-from-other-tuple assignment
| UTypes | parameter pack of types to move assign from |
| other | tuple containing values to move assign from |
Initializes each element of the tuple from the values in other
sizeof...(Types) == sizeof...(UTypes) is true is_assignable<Ti, Ui const&>::value is true for all Ti in Types... and Ui in UTypes... sizeof...(Types) != 0 is true
|
inlinenoexcept |
copy-from-other-tuple assignment
| UTypes | parameter pack of types to assign from |
| other | tuple containing values to assign from |
Initializes each element of the tuple from the values in other
sizeof...(Types) == sizeof...(UTypes) is true is_assignable<Ti, Ui const&>::value is true for all Ti in Types... and Ui in UTypes... sizeof...(Types) != 0 is true
|
inlinenoexcept |
swap with another tuple
| rhs | the other tuple to swap this with |
swap(get<Idx>(*this),get<Idx>(rhs)) for every element.
|
friend |
obtain the tuple_leaf element at a specified index
| I | tuple element index |
| tup | reference to a tuple |
I 'th element