Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::common_tuple< Ts > Struct Template Reference
+ Inheritance diagram for ranges::v3::common_tuple< Ts >:

Public Member Functions

std::tuple< Ts... > & base () noexcept
 
std::tuple< Ts... > const & base () const noexcept
 
 common_tuple () noexcept(meta::and_c< std::is_nothrow_default_constructible< Ts >::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Constructible<Ts, Us>()...>::value)>
 common_tuple (Us &&... us) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Constructible<Ts, Us &>()...>::value)>
 common_tuple (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Constructible<Ts, Us const &>()...>::value)>
 common_tuple (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us const &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Constructible<Ts, Us>()...>::value)>
 common_tuple (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value)
 
template<typename ... Us, requires = (meta::and_c<(bool) Constructible<Us, Ts &>()...>::value)>
 operator std::tuple< Us... > () &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts &>::value... >::value)
 
template<typename ... Us, requires = (meta::and_c<(bool) Constructible<Us, Ts const &>()...>::value)>
 operator std::tuple< Us... > () const &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts const &>::value... >::value)
 
template<typename ... Us, requires = (meta::and_c<(bool) Constructible<Us, Ts>()...>::value)>
 operator std::tuple< Us... > () &&noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts >::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts &, Us &>()...>::value)>
common_tupleoperator= (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts &, Us const &>()...>::value)>
common_tupleoperator= (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us const &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts &, Us>()...>::value)>
common_tupleoperator= (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us >::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts const &, Us &>()...>::value)>
common_tuple const & operator= (std::tuple< Us... > &that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts const &, Us const &>()...>::value)>
common_tuple const & operator= (std::tuple< Us... > const &that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us const &>::value... >::value)
 
template<typename... Us, requires = (meta::and_c<(bool) Assignable<Ts const &, Us &&>()...>::value)>
common_tuple const & operator= (std::tuple< Us... > &&that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us &&>::value... >::value)
 

Constructor & Destructor Documentation

◆ common_tuple()

template<typename ... Ts>
ranges::v3::common_tuple< Ts >::common_tuple ( )
noexcept
Precondition
meta::and_c<(bool) DefaultConstructible<Ts>()...>::value