Range-v3 Range algorithms, views, and actions for the Standard Library |

Instances and minimal complete definitions | Public Member Functions | List of all members
ranges::common_tuple< Ts > Struct Template Reference
Inheritance diagram for ranges::common_tuple< Ts >:

## Public Member Functions
std::tuple< Ts... > const & | 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)
template<typename... Us>
| common_tuple (common_tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us & >::value... >::value)
template<typename... Us>
| common_tuple (common_tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us const & >::value... >::value)
template<typename... Us>
| common_tuple (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value)
template<typename... Us>
| common_tuple (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us & >::value... >::value)
template<typename... Us>
| common_tuple (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us const & >::value... >::value)
template<typename... Us>
| common_tuple (Us &&... us) noexcept(meta::and_c< std::is_nothrow_constructible< Ts, Us >::value... >::value)
template<typename... Us>
| operator std::tuple< Us... > () &&noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts >::value... >::value)
template<typename... Us>
| operator std::tuple< Us... > () &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts & >::value... >::value)
template<typename... Us>
| operator std::tuple< Us... > () const &noexcept(meta::and_c< std::is_nothrow_constructible< Us, Ts const & >::value... >::value)
template<typename... Us>
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>
common_tuple & | operator= (std::tuple< Us... > &&that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us >::value... >::value)
template<typename... Us>
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>
common_tuple & | operator= (std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us & >::value... >::value)
template<typename... Us>
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>
common_tuple & | operator= (std::tuple< Us... > const &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us const & >::value... >::value)

## Member Function Documentation

## ◆ operator std::tuple< Us... >() [1/3]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::operator std::tuple< Us... > | ( |  | ) | &&
| noexcept

Precondition
  requires `constructible_from<detail::args<Us...>, detail::args<Ts...>>`

## ◆ operator std::tuple< Us... >() [2/3]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::operator std::tuple< Us... > | ( |  | ) | &
| noexcept

Precondition
  requires `constructible_from<detail::args<Us...>, detail::rargs<Ts...>>`

## ◆ operator std::tuple< Us... >() [3/3]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::operator std::tuple< Us... > | ( |  | ) | const &
| noexcept

Precondition
  requires `constructible_from<detail::args<Us...>, detail::rargs<Ts const...>>`

## ◆ operator=() [1/6]

template<typename... Ts>
template<typename... Us>

common_tuple const& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > && | that | ) | const
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts const...> &, detail::args<Us...>>::value`

## ◆ operator=() [2/6]

template<typename... Ts>
template<typename... Us>

common_tuple& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > && | that | ) |
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts...> &, detail::args<Us...>>::value` //

## ◆ operator=() [3/6]

template<typename... Ts>
template<typename... Us>

common_tuple const& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > & | that | ) | const
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts const...> &, detail::rargs<Us...>>::value`

## ◆ operator=() [4/6]

template<typename... Ts>
template<typename... Us>

common_tuple& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > & | that | ) |
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts...> &, detail::rargs<Us...>>::value` //

## ◆ operator=() [5/6]

template<typename... Ts>
template<typename... Us>

common_tuple const& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > const & | that | ) | const
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts const...> &, detail::rargs<Us const...>>::value`

## ◆ operator=() [6/6]

template<typename... Ts>
template<typename... Us>

common_tuple& ranges::common_tuple< Ts >::operator= | ( | std::tuple< Us... > const & | that | ) |
| noexcept

Precondition
  requires `std::is_assignable<detail::args<Ts...> &, detail::rargs<Us const...>>::value` //

## Constructor & Destructor Documentation

## ◆ common_tuple() [1/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | Us &&... | us | ) |
| explicit noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::args<Us...>>`

## ◆ common_tuple() [2/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | std::tuple< Us... > & | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::rargs<Us...>>`

## ◆ common_tuple() [3/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | std::tuple< Us... > const & | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::rargs<Us const...>>`

## ◆ common_tuple() [4/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | std::tuple< Us... > && | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::args<Us...>>`

## ◆ common_tuple() [5/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | common_tuple< Us... > & | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::rargs<Us...>>`

## ◆ common_tuple() [6/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | common_tuple< Us... > const & | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::rargs<Us const...>>`

## ◆ common_tuple() [7/7]

template<typename... Ts>
template<typename... Us>

ranges::common_tuple< Ts >::common_tuple | ( | common_tuple< Us... > && | that | ) |
| noexcept

Precondition
  requires `constructible_from<detail::args<Ts...>, detail::args<Us...>>`