|
SPH
|
Heterogeneous container capable of storing a fixed number of values. More...
#include <Tuple.h>
Public Member Functions | |
| constexpr INLINE | Tuple ()=default |
| template<typename... Ts, typename = std::enable_if_t<AllTrue<std::is_constructible<TArgs, Ts>::value...>::value>> | |
| constexpr INLINE | Tuple (Ts &&... args) |
| constexpr INLINE | Tuple (const Tuple &other) |
| constexpr INLINE | Tuple (Tuple &&other) |
| template<typename... Ts> | |
| constexpr INLINE | Tuple (const Tuple< Ts... > &other) |
| template<typename... Ts> | |
| constexpr INLINE | Tuple (Tuple< Ts... > &&other) |
| INLINE Tuple & | operator= (Tuple &other) |
| INLINE Tuple & | operator= (const Tuple &other) |
| Assign conts l-value reference of tuple. All values are copied. More... | |
| INLINE Tuple & | operator= (Tuple &&other) |
| template<typename... Ts> | |
| INLINE Tuple & | operator= (Tuple< Ts... > &other) |
| Assigns tuple of generally different types. Same rules as above apply. More... | |
| template<typename... Ts> | |
| INLINE Tuple & | operator= (const Tuple< Ts... > &other) |
| Assigns tuple of generally different types. Same rules as above apply. More... | |
| template<typename... Ts> | |
| INLINE Tuple & | operator= (Tuple< Ts... > &&other) |
| Assigns tuple of generally different types. Same rules as above apply. More... | |
| template<std::size_t TIndex> | |
| constexpr decltype(auto) INLINE | get () & |
| template<std::size_t TIndex> | |
| constexpr decltype(auto) INLINE | get () const & |
| Returns an element of the tuple by index, const version. More... | |
| template<std::size_t TIndex> | |
| constexpr decltype(auto) INLINE | get () && |
| template<typename Type > | |
| constexpr decltype(auto) INLINE | get () & |
| template<typename Type > | |
| constexpr decltype(auto) INLINE | get () const & |
| Returns an element of the tuple by type, const version. More... | |
| template<typename Type > | |
| constexpr decltype(auto) INLINE | get () && |
| Returns an element of r-value reference to tuple. Same rules apply as for other overloads. More... | |
| constexpr INLINE bool | operator== (const Tuple &other) const |
| constexpr INLINE bool | operator!= (const Tuple &other) const |
Static Public Member Functions | |
| static constexpr INLINE std::size_t | size () noexcept |
| Returns the number of elements in tuple. More... | |
Heterogeneous container capable of storing a fixed number of values.
Can store any copy-constructible or move-constructible type, l-value references and r-value reference. Empty tuples are allowed. Only tuples of size 1 containing other tuple are forbidden, for simplicity.