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

Friends

template<int tagged_dummy_ = 42>
meta::if_c< tagged_dummy_==43||is_swappable< Base & >::value > swap (tagged &x, tagged &y) noexcept(is_nothrow_swappable< Base & >::value)
 

Public Member Functions

taggedoperator= (tagged &&)=default
 
taggedoperator= (tagged const &)=default
 
template<typename Other , typename = meta::if_<std::is_convertible<Other, Base>>>
taggedoperator= (tagged< Other, Tags... > &&that) noexcept(noexcept(std::declval< Base & >()=static_cast< Other && >(that)))
 
template<typename Other , typename = meta::if_<std::is_convertible<Other, Base>>>
taggedoperator= (tagged< Other, Tags... > 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>())>
taggedoperator= (U &&u) noexcept(noexcept(std::declval< Base & >()=std::forward< U >(u)))
 
template<int tagged_dummy_ = 42>
meta::if_c< tagged_dummy_==43||is_swappable< Base & >::value > swap (tagged &that) noexcept(is_nothrow_swappable< Base & >::value)
 
 tagged (tagged &&)=default
 
 tagged (tagged const &)=default
 
template<typename Other , typename = meta::if_<std::is_convertible<Other, Base>>>
 tagged (tagged< Other, Tags... > &&that) noexcept(noexcept(Base(static_cast< Other && >(that))))
 
template<typename Other , typename = meta::if_<std::is_convertible<Other, Base>>>
 tagged (tagged< Other, Tags... > const &that)