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

Instances and minimal complete definitions | Friends | Public Member Functions | List of all members
ranges::tagged< Base, Tags > Class Template Reference
Inheritance diagram for ranges::tagged< Base, Tags >:

## Friends
template<typename B = Base>
constexpr friend auto | swap (tagged &x, tagged &y) noexcept(is_nothrow_swappable< B >::value) -> void requires is_swappable< B >::value

## Public Member Functions
template<typename Other >
constexpr auto | operator= (tagged< Other, Tags... > &&that) noexcept(noexcept(std::declval< Base & >()=static_cast< Other && >(that))) -> tagged &requires can_convert< Other >::value
template<typename Other >
constexpr auto | operator= (tagged< Other, Tags... > const &that) noexcept(noexcept(std::declval< Base & >()=static_cast< Other const & >(that))) -> tagged &requires can_convert< Other >::value
template<typename U >
constexpr auto | operator= (U &&u) noexcept(noexcept(std::declval< Base & >()=static_cast< U && >(u))) -> tagged &requires(!defer::same_as< tagged, detail::decay_t< U >>) &&defer::satisfies< Base &, std::is_assignable, U >
template<typename B = Base>
constexpr auto | swap (tagged &that) noexcept(is_nothrow_swappable< B >::value) -> void requires is_swappable< B >::value
template<typename Other >
constexpr | tagged (tagged< Other, Tags... > &&that) noexcept(std::is_nothrow_constructible< Base, Other >::value) requires(can_convert< Other >
template<typename Other >
constexpr | tagged (tagged< Other, Tags... > const &that) noexcept(std::is_nothrow_constructible< Base, Other const & >::value) requires(can_convert< Other >