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

Public Member Functions

const std::tuple< Ts... > & base () const noexcept
 
std::tuple< Ts... > & base () noexcept
 
template<typename... Us>
 common_tuple (common_tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
 common_tuple (common_tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us & >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
 common_tuple (common_tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us const & >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
 common_tuple (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
 common_tuple (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us & >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
 common_tuple (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us const & >::value... >::value) requires const ructible_from< detail
 
template<typename... Us>
requires constructible_from< detail::args< Ts... >, detail::args< Us... > > common_tuple (Us &&... us) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value)
 
template<typename... Us>
requires constructible_from< detail::args< Us... >, detail::args< Ts... > > operator std::tuple< Us... > () &&noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts >::value... >::value)
 
template<typename... Us>
requires constructible_from< detail::args< Us... >, detail::rargs< Ts... > > operator std::tuple< Us... > () &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts & >::value... >::value)
 
template<typename... Us>
requires constructible_from< detail::args< Us... >, detail::rargs< Ts const ... > > operator std::tuple< Us... > () const &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts const & >::value... >::value)
 
template<typename... Us>
auto operator= (std::tuple< Us... > &&that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us && >::value... >::value) -> common_tuple const &requires assignable_from< detail::args< Ts const ... > &, detail::args< Us... >>
 
template<typename... Us>
auto operator= (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us >::value... >::value) -> common_tuple &requires assignable_from< detail::args< Ts... > &, detail::args< Us... >>
 
template<typename... Us>
auto operator= (std::tuple< Us... > &that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us & >::value... >::value) -> common_tuple const &requires assignable_from< detail::args< Ts const ... > &, detail::rargs< Us... >>
 
template<typename... Us>
auto operator= (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us & >::value... >::value) -> common_tuple &requires assignable_from< detail::args< Ts... > &, detail::rargs< Us... >>
 
template<typename... Us>
auto operator= (std::tuple< Us... > const &that) const noexcept(meta::and_c< std::is_nothrow_assignable< Ts const &, Us const & >::value... >::value) -> common_tuple const &requires assignable_from< detail::args< Ts const ... > &, detail::rargs< Us const ... >>
 
template<typename... Us>
auto operator= (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us const & >::value... >::value) -> common_tuple &requires assignable_from< detail::args< Ts... > &, detail::rargs< Us const ... >>