tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
tuple< Ts > Struct Template Reference

#include <tuple.hpp>

Public Member Functions

constexpr tuple (tuple &&) noexcept=default
 
constexpr tuple (tuple const &)=default
 
template<typename... Us>
requires ((is_constructible_v<Ts, Us &&> && ...) and (sizeof...(Ts) > 0) and (sizeof...(Ts) == sizeof...(Us)))
 explicit (!(is_convertible_v< Us &&, Ts > &&...)) const expr tuple(Us &&... args)
 
 explicit (not(is_convertible_v< Ts const &, Ts > &&...)) const expr tuple(Ts const &... args)
 
 explicit (not(is_implicit_default_constructible_v< Ts > &&...)) const expr tuple()
 
template<etl::size_t I>
constexpr auto operator[] (etl::index_constant< I > idx) &&noexcept -> auto &&
 
template<etl::size_t I>
constexpr auto operator[] (etl::index_constant< I > idx) &noexcept -> auto &
 
template<etl::size_t I>
constexpr auto operator[] (etl::index_constant< I > idx) const &&noexcept -> auto const &&
 
template<etl::size_t I>
constexpr auto operator[] (etl::index_constant< I > idx) const &noexcept -> auto const &
 
constexpr auto swap (tuple &other) noexcept((is_nothrow_swappable_v< Ts > and ...)) -> void
 

Constructor & Destructor Documentation

◆ tuple() [1/2]

template<typename... Ts>
constexpr tuple ( tuple< Ts > const )
constexprdefault

◆ tuple() [2/2]

template<typename... Ts>
constexpr tuple ( tuple< Ts > &&  )
constexprdefaultnoexcept

Member Function Documentation

◆ explicit() [1/3]

template<typename... Ts>
template<typename... Us>
requires ((is_constructible_v<Ts, Us &&> && ...) and (sizeof...(Ts) > 0) and (sizeof...(Ts) == sizeof...(Us)))
explicit ( is_convertible_v< Us &&, Ts > &&...) const &&
inline

◆ explicit() [2/3]

template<typename... Ts>
explicit ( not(is_convertible_v< Ts const &, Ts > &&...)  ) const &
inline

◆ explicit() [3/3]

template<typename... Ts>
explicit ( not(is_implicit_default_constructible_v< Ts > &&...)  ) const
inline

◆ operator[]() [1/4]

template<typename... Ts>
template<etl::size_t I>
constexpr auto operator[] ( etl::index_constant< I idx) && -> auto&&
inlineconstexprnoexcept

◆ operator[]() [2/4]

template<typename... Ts>
template<etl::size_t I>
constexpr auto operator[] ( etl::index_constant< I idx) & -> auto&
inlineconstexprnoexcept

◆ operator[]() [3/4]

template<typename... Ts>
template<etl::size_t I>
constexpr auto operator[] ( etl::index_constant< I idx) const && -> auto const&&
inlineconstexprnoexcept

◆ operator[]() [4/4]

template<typename... Ts>
template<etl::size_t I>
constexpr auto operator[] ( etl::index_constant< I idx) const & -> auto const&
inlineconstexprnoexcept

◆ swap()

template<typename... Ts>
constexpr auto swap ( tuple< Ts > &  other) -> void
inlineconstexprnoexcept

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