Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::box< Element, Tag, box_compress > Class Template Reference

Public Member Functions

constexpr box () noexcept(std::is_nothrow_default_constructible< Element >::value)
 
template<typename E , requires = (std::is_constructible<Element, E>::value && std::is_convertible<E, Element>::value)>
constexpr box (E &&e) noexcept(std::is_nothrow_constructible< Element, E >::value)
 
template<typename E , requires = (std::is_constructible<Element, E>::value && !std::is_convertible<E, Element>::value)>
constexpr box (E &&e) noexcept(std::is_nothrow_constructible< Element, E >::value)
 
Elementget () &noexcept
 
constexpr Element const & get () const &noexcept
 
Element && get () &&noexcept
 

Constructor & Destructor Documentation

◆ box()

template<typename Element, typename Tag = void, detail::box_compress = detail::box_compression<Element>()>
constexpr ranges::v3::box< Element, Tag, box_compress >::box ( )
noexcept
Precondition
std::is_default_constructible<Element>::value