ranges::v3::tagged_detail::tagged< Base, Tags > Class Template Reference
Inheritance diagram for ranges::v3::tagged_detail::tagged< Base, Tags >:

## Friends

template<typename B = Base>
meta::if_c< is_swappable< B >::value > | swap (tagged &x, tagged &y) noexcept(is_nothrow_swappable< B >::value)

## Public Member Functions

template<typename Other , typename = meta::if_<can_convert<Other>>>
tagged & | operator= (tagged< Other, Tags... > &&that) noexcept(noexcept(std::declval< Base &>()=static_cast< Other &&>(that)))
template<typename Other , typename = meta::if_<can_convert<Other>>>
tagged & | operator= (tagged< Other, Tags... > const &that) noexcept(noexcept(std::declval< Base &>()=static_cast< Other const &>(that)))
template<typename U , typename = meta::if_c<!std::is_same<tagged, detail::decay_t<U>>::value>, typename = decltype(std::declval<Base &>() = std::declval<U>())>
tagged & | operator= (U &&u) noexcept(noexcept(std::declval< Base &>()=static_cast< U &&>(u)))
template<typename B = Base>
meta::if_c< is_swappable< B >::value > | swap (tagged &that) noexcept(is_nothrow_swappable< B >::value)
constexpr | tagged (Base &&that) noexcept(std::is_nothrow_move_constructible< Base >::value)
constexpr | tagged (Base const &that) noexcept(std::is_nothrow_copy_constructible< Base >::value)
template<typename Other , typename = meta::if_<can_convert<Other>>>
constexpr | tagged (tagged< Other, Tags... > &&that) noexcept(std::is_nothrow_constructible< Base, Other >::value)
template<typename Other , typename = meta::if_<can_convert<Other>>>
constexpr | tagged (tagged< Other, Tags... > const &that) noexcept(std::is_nothrow_constructible< Base, Other const &>::value)

## Constructor & Destructor Documentation

## tagged() [1/2]

template<typename Base, typename... Tags>

constexpr ranges::v3::tagged_detail::tagged< Base, Tags >::tagged | ( | Base && | that | ) |

noexcept

Precondition
  MoveConstructible<Base>()

## tagged() [2/2]

template<typename Base, typename... Tags>

constexpr ranges::v3::tagged_detail::tagged< Base, Tags >::tagged | ( | Base const & | that | ) |

noexcept

Precondition
  CopyConstructible<Base>()

References swap.