ORIGINAL
|
Heterogeneous tuple container implementation. More...
Go to the source code of this file.
Classes | |
class | original::tuple< TYPES > |
Container for multiple heterogeneous elements. More... | |
struct | std::tuple_size< original::tuple< TYPES... > > |
Specialization of tuple_size for tuple to enable structured bindings. More... | |
struct | std::tuple_element< I, original::tuple< TYPES... > > |
Specialization of tuple_element for tuple to enable structured bindings. More... | |
Namespaces | |
namespace | original |
Main namespace for the project Original. | |
namespace | std |
Standard namespace extensions for original::alternative. | |
Functions | |
template<typename F_TYPE , typename S_TYPE > | |
tuple< F_TYPE, S_TYPE > | original::makeTuple (const couple< F_TYPE, S_TYPE > &cp) |
Creates a tuple from a couple (copy version) | |
template<typename F_TYPE , typename S_TYPE > | |
tuple< F_TYPE, S_TYPE > | original::makeTuple (couple< F_TYPE, S_TYPE > &&cp) |
Creates a tuple from a couple (move version) | |
template<typename... TYPES> | |
void | std::swap (original::tuple< TYPES... > &lhs, original::tuple< TYPES... > &rhs) noexcept |
template<std::size_t I, typename... TYPES> | |
constexpr auto & | std::get (original::tuple< TYPES... > &t) noexcept |
Structured binding support - get for non-const lvalue reference. | |
template<std::size_t I, typename... TYPES> | |
constexpr const auto & | std::get (const original::tuple< TYPES... > &t) noexcept |
Structured binding support - get for const lvalue reference. | |
template<std::size_t I, typename... TYPES> | |
constexpr auto && | std::get (original::tuple< TYPES... > &&t) noexcept |
Structured binding support - get for rvalue reference. | |
Heterogeneous tuple container implementation.
This file implements a type-safe, compile-time fixed-size tuple container with:
std::tuple_size
and std::tuple_element
specializations. Value type deduction is used to ensure compatibility with const auto& [a, b, c] = myTuple
syntax.