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... Args>
requires ((is_constructible_v<Ts, Args &&> && ...) && (sizeof...(Ts) > 0) && (sizeof...(Ts) == sizeof...(Args)))
 explicit (!(is_convertible_v< Args &&, Ts > &&...)) const expr tuple(Args &&... 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()
 
constexpr auto swap (tuple &other) noexcept((is_nothrow_swappable_v< Ts > &&...)) -> void
 

Friends

template<size_t N, typename... Us>
constexpr auto get (tuple< Us... > &&t) -> auto &&
 
template<typename T, typename... Us>
constexpr auto get (tuple< Us... > &&t) -> auto &&
 
template<size_t N, typename... Us>
constexpr auto get (tuple< Us... > &t) -> auto &
 
template<typename T, typename... Us>
constexpr auto get (tuple< Us... > &t) -> auto &
 
template<size_t N, typename... Us>
constexpr auto get (tuple< Us... > const &&t) -> auto const &&
 
template<typename T, typename... Us>
constexpr auto get (tuple< Us... > const &&t) -> auto const &&
 
template<size_t N, typename... Us>
constexpr auto get (tuple< Us... > const &t) -> auto const &
 
template<typename T, typename... Us>
constexpr auto get (tuple< Us... > const &t) -> auto const &
 
template<size_t I, typename T>
struct tuple_element
 

Detailed Description

template<typename... Ts>
struct etl::tuple< Ts >
Examples
tuple.cpp.

Constructor & Destructor Documentation

◆ tuple() [1/2]

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

◆ tuple() [2/2]

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

Member Function Documentation

◆ explicit() [1/3]

template<typename... Ts>
template<typename... Args>
requires ((is_constructible_v<Ts, Args &&> && ...) && (sizeof...(Ts) > 0) && (sizeof...(Ts) == sizeof...(Args)))
explicit ( ! is_convertible_v< Args &&, 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

◆ swap()

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

Friends And Related Symbol Documentation

◆ get [1/8]

template<typename... Ts>
template<size_t N, typename... Us>
auto get ( tuple< Us... > && t) -> auto &&
friend

◆ get [2/8]

template<typename... Ts>
template<typename T, typename... Us>
auto get ( tuple< Us... > && t) -> auto &&
friend

◆ get [3/8]

template<typename... Ts>
template<size_t N, typename... Us>
auto get ( tuple< Us... > & t) -> auto &
friend

◆ get [4/8]

template<typename... Ts>
template<typename T, typename... Us>
auto get ( tuple< Us... > & t) -> auto &
friend

◆ get [5/8]

template<typename... Ts>
template<size_t N, typename... Us>
auto get ( tuple< Us... > const && t) -> auto const &&
friend

◆ get [6/8]

template<typename... Ts>
template<typename T, typename... Us>
auto get ( tuple< Us... > const && t) -> auto const &&
friend

◆ get [7/8]

template<typename... Ts>
template<size_t N, typename... Us>
auto get ( tuple< Us... > const & t) -> auto const &
friend

◆ get [8/8]

template<typename... Ts>
template<typename T, typename... Us>
auto get ( tuple< Us... > const & t) -> auto const &
friend

◆ tuple_element

template<typename... Ts>
template<size_t I, typename T>
friend struct tuple_element
friend

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