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.