rstd 0.1.0
Loading...
Searching...
No Matches
rstd::tuple< Ts > Class Template Referenceexport
module rstd.basic

A fixed-size heterogeneous collection of values, analogous to Rust's tuple. More...

Public Member Functions

constexpr tuple (Ts const &... ts) noexcept((mtp::noex_init< Ts, Ts > &&...))
 Constructs the tuple.
 
template<typename... Us>
requires (sizeof...(Us) == sizeof...(Ts)) && (sizeof...(Us) > 0)
constexpr tuple (Us &&... us) noexcept((mtp::noex_init< Ts, Us > &&...))
 Constructs the tuple from individual element values.
 
template<usize I>
constexpr auto & get () &noexcept
 Access the I-th element (lvalue overload).
 
template<usize I>
constexpr auto const & get () const &noexcept
 Access the I-th element (const lvalue overload).
 
template<usize I>
constexpr auto && get () &&noexcept
 Access the I-th element (rvalue overload).
 
template<typename T >
constexpr T & get () &noexcept
 Access the element of type T (lvalue overload).
 
template<typename T >
constexpr T const & get () const &noexcept
 Access the element of type T (const lvalue overload).
 
template<typename T >
constexpr T && get () &&noexcept
 Access the element of type T (rvalue overload).
 

Static Public Attributes

static constexpr usize size = sizeof...(Ts)
 The number of elements.
 

Detailed Description

template<typename... Ts>
class rstd::tuple< Ts >

A fixed-size heterogeneous collection of values, analogous to Rust's tuple.

Supports construction, copy/move, element access via get<I>() or the free function get<I>(t), and C++ structured bindings.


The documentation for this class was generated from the following file: