Template Class OptionalArrayRef¶
Defined in File OptionalArrayRef.h
Page Contents
Class Documentation¶
-
template<typename T>
class OptionalArrayRef¶ Public Functions
-
constexpr OptionalArrayRef() noexcept = default¶
-
OptionalArrayRef(const OptionalArrayRef &other) = default¶
-
OptionalArrayRef(OptionalArrayRef &&other) noexcept = default¶
-
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>
inline 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>
inline explicit constexpr OptionalArrayRef(U &&value) noexcept(std::is_nothrow_constructible<ArrayRef<T>, U&&>::value)¶
-
template<typename ...Args>
inline explicit constexpr OptionalArrayRef(in_place_t ip, Args&&... args) noexcept¶
-
template<typename U, typename ...Args>
inline explicit constexpr OptionalArrayRef(in_place_t ip, std::initializer_list<U> il, Args&&... args)¶
-
~OptionalArrayRef() = default¶
-
inline constexpr OptionalArrayRef &operator=(nullopt_t) noexcept¶
-
OptionalArrayRef &operator=(const OptionalArrayRef &other) = default¶
-
OptionalArrayRef &operator=(OptionalArrayRef &&other) noexcept = default¶
-
inline constexpr OptionalArrayRef &operator=(const optional<ArrayRef<T>> &other) noexcept¶
-
inline constexpr OptionalArrayRef &operator=(optional<ArrayRef<T>> &&other) noexcept¶
-
template<typename U = ArrayRef<T>>
inline 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)¶
-
inline explicit constexpr operator bool() const noexcept¶
-
inline constexpr bool has_value() const noexcept¶
-
template<typename U>
inline constexpr std::enable_if_t<std::is_convertible<U&&, ArrayRef<T>>::value, ArrayRef<T>> value_or(U &&default_value) const &¶
-
template<typename U>
inline constexpr std::enable_if_t<std::is_convertible<U&&, ArrayRef<T>>::value, ArrayRef<T>> value_or(U &&default_value) &&¶
-
inline constexpr void swap(OptionalArrayRef &other) noexcept¶
-
inline constexpr void reset() noexcept¶
-
constexpr OptionalArrayRef() noexcept = default¶