|
constexpr | OptionalArrayRef () noexcept=default |
|
constexpr | OptionalArrayRef (nullopt_t) noexcept |
|
| OptionalArrayRef (const OptionalArrayRef &other)=default |
|
| OptionalArrayRef (OptionalArrayRef &&other)=default |
|
constexpr | OptionalArrayRef (const optional< ArrayRef< T > > &other) noexcept |
|
constexpr | OptionalArrayRef (optional< ArrayRef< T > > &&other) noexcept |
|
constexpr | OptionalArrayRef (const T &value) noexcept |
|
template<typename U = ArrayRef<T>, std::enable_if_t< !std::is_same< std::decay_t< U >, OptionalArrayRef >::value &&!std::is_same< std::decay_t< U >, in_place_t >::value &&std::is_constructible< ArrayRef< T >, U && >::value &&std::is_convertible< U &&, ArrayRef< T > >::value &&!std::is_convertible< U &&, T >::value, bool > = false> |
constexpr | OptionalArrayRef (U &&value) noexcept(std::is_nothrow_constructible< ArrayRef< T >, U && >::value) |
|
template<typename U = ArrayRef<T>, std::enable_if_t< !std::is_same< std::decay_t< U >, OptionalArrayRef >::value &&!std::is_same< std::decay_t< U >, in_place_t >::value &&std::is_constructible< ArrayRef< T >, U && >::value &&!std::is_convertible< U &&, ArrayRef< T > >::value, bool > = false> |
constexpr | OptionalArrayRef (U &&value) noexcept(std::is_nothrow_constructible< ArrayRef< T >, U && >::value) |
|
template<typename... Args> |
constexpr | OptionalArrayRef (in_place_t ip, Args &&... args) noexcept |
|
template<typename U , typename... Args> |
constexpr | OptionalArrayRef (in_place_t ip, std::initializer_list< U > il, Args &&... args) |
|
constexpr | OptionalArrayRef (const std::initializer_list< T > &Vec) |
|
| ~OptionalArrayRef ()=default |
|
constexpr OptionalArrayRef & | operator= (nullopt_t) noexcept |
|
OptionalArrayRef & | operator= (const OptionalArrayRef &other)=default |
|
OptionalArrayRef & | operator= (OptionalArrayRef &&other)=default |
|
constexpr OptionalArrayRef & | operator= (const optional< ArrayRef< T > > &other) noexcept |
|
constexpr OptionalArrayRef & | operator= (optional< ArrayRef< T > > &&other) noexcept |
|
template<typename U = ArrayRef<T>> |
constexpr std::enable_if_t< !std::is_same< std::decay_t< U >, OptionalArrayRef >::value &&std::is_constructible< ArrayRef< T >, U && >::value &&std::is_assignable< ArrayRef< T > &, U && >::value, OptionalArrayRef & > | operator= (U &&value) noexcept(std::is_nothrow_constructible< ArrayRef< T >, U && >::value &&std::is_nothrow_assignable< ArrayRef< T > &, U && >::value) |
|
constexpr ArrayRef< T > * | operator-> () noexcept |
|
constexpr const ArrayRef< T > * | operator-> () const noexcept |
|
constexpr ArrayRef< T > & | operator* () &noexcept |
|
constexpr const ArrayRef< T > & | operator* () const &noexcept |
|
constexpr ArrayRef< T > && | operator* () &&noexcept |
|
constexpr const ArrayRef< T > && | operator* () const &&noexcept |
|
constexpr | operator bool () const noexcept |
|
constexpr bool | has_value () const noexcept |
|
constexpr ArrayRef< T > & | value () & |
|
constexpr const ArrayRef< T > & | value () const & |
|
constexpr ArrayRef< T > && | value () && |
|
constexpr const ArrayRef< T > && | value () const && |
|
template<typename U > |
constexpr std::enable_if_t< std::is_convertible< U &&, ArrayRef< T > >::value, ArrayRef< T > > | value_or (U &&default_value) const & |
|
template<typename U > |
constexpr std::enable_if_t< std::is_convertible< U &&, ArrayRef< T > >::value, ArrayRef< T > > | value_or (U &&default_value) && |
|
constexpr void | swap (OptionalArrayRef &other) noexcept |
|
constexpr void | reset () noexcept |
|
template<typename... Args> |
constexpr std::enable_if_t< std::is_constructible< ArrayRef< T >, Args &&... >::value, ArrayRef< T > & > | emplace (Args &&... args) noexcept(std::is_nothrow_constructible< ArrayRef< T >, Args &&... >::value) |
|
template<typename U , typename... Args> |
constexpr ArrayRef< T > & | emplace (std::initializer_list< U > il, Args &&... args) noexcept |
|