Definition for kumi::tuple class and functions.
More...
|
|
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.
|
|
template<typename... Us>
requires (concepts::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.
|
|
| template<typename... Ts> |
| KUMI_CUDA | kumi::tuple (Ts &&...) -> tuple< std::unwrap_ref_decay_t< Ts >... > |
| | kumi::tuple deduction guide
|
|
| 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<concepts::product_type T> |
| constexpr auto | to_ref (T &&t) |
| | Creates a kumi::tuple of references given a reference to a kumi::product_type.
|
|
| template<typename Type, typename... Ts> |
| constexpr auto | from_tuple (tuple< Ts... > const &t) |
| | Converts a kumi::tuple to an instance of an arbitrary type.
|
| template<concepts::product_type T> |
| constexpr auto | to_tuple (T &&t) |
| | Converts a kumi::product_type to an instance kumi::tuple.
|
|
| template<std::size_t I, typename... Ts> |
| decltype(auto) constexpr | get (tuple< Ts... > &t) noexcept |
| | Extracts the Ith element from a kumi::tuple.
|