Definition for kumi::tuple class and functions. More...
Classes | |
| class | kumi::_::builder< T > |
Helper structure to build the correct output product_type. If the provided Typle is a not a record_type the builder will output a tuple otherwise a record. More... | |
| class | kumi::tuple< Ts > |
| Fixed-size collection of heterogeneous values. More... | |
Friends | |
| template<typename CharT , typename Traits > | |
| std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, tuple const &t) noexcept |
| Inserts a kumi::tuple in an output stream. | |
Comparison operators | |
|
template<typename... Us> requires ( equality_comparable<tuple,tuple<Us...>> ) | |
| constexpr auto | operator== (tuple const &self, tuple< Us... > const &other) noexcept |
| Compares a tuple with an other for equality. | |
|
template<typename... Us> requires (sizeof...(Ts) == sizeof...(Us) && _::piecewise_ordered<tuple, tuple<Us...>>) | |
| constexpr auto | operator< (tuple const &lhs, tuple< Us... > const &rhs) noexcept |
| Compares tuples for lexicographical is less relation. | |
|
template<typename... Us> requires requires { rhs < lhs; } | |
| constexpr auto | operator<= (tuple const &lhs, tuple< Us... > const &rhs) noexcept |
| Compares tuples for lexicographical is less or equal relation. | |
|
template<typename... Us> requires requires { rhs < lhs; } | |
| constexpr auto | operator> (tuple const &lhs, tuple< Us... > const &rhs) noexcept |
| Compares tuples for lexicographical is greater relation. | |
|
template<typename... Us> requires requires { lhs < rhs; } | |
| constexpr auto | operator>= (tuple const &lhs, tuple< Us... > const &rhs) noexcept |
| Compares tuples for lexicographical is greater relation relation. | |
Tuple Deduction Guides | |
| template<typename... Ts> | |
| KUMI_CUDA | kumi::tuple (Ts &&...) -> tuple< std::unwrap_ref_decay_t< Ts >... > |
| kumi::tuple deduction guide | |
Tuple construction | |
| template<typename... Ts> | |
| constexpr auto | kumi::tie (Ts &...ts) -> tuple< Ts &... > |
| Creates a kumi::tuple of lvalue references to its arguments. | |
| template<typename... Ts> | |
| constexpr auto | kumi::make_tuple (Ts &&...ts) -> tuple< std::unwrap_ref_decay_t< Ts >... > |
| Creates a tuple object, deducing the target type from the types of arguments. | |
| template<typename... Ts> | |
| constexpr auto | forward_as_tuple (Ts &&...ts) -> tuple< Ts &&... > |
| Creates a kumi::tuple of forwarding references to its arguments. | |
| template<product_type Type> | |
| constexpr auto | to_ref (Type &&t) |
| Creates a kumi::tuple of references given a reference to a kumi::product_type. | |
Accessors | |
| template<std::size_t I, typename... Ts> | |
| decltype(auto) constexpr | get (tuple< Ts... > &t) noexcept |
| Extracts the Ith element from a kumi::tuple. | |