Template Class OptionalArrayRef#
Defined in File OptionalArrayRef.h
Page Contents
Class Documentation#
-
template<typename T>
class OptionalArrayRef# Public Functions
-
constexpr OptionalArrayRef() noexcept = default#
-
inline constexpr OptionalArrayRef(std::nullopt_t) noexcept#
-
OptionalArrayRef(const OptionalArrayRef &other) = default#
-
OptionalArrayRef(OptionalArrayRef &&other) noexcept = default#
-
template<typename U = ArrayRef<T>, std::enable_if_t<!std::is_same_v<std::decay_t<U>, OptionalArrayRef> && !std::is_same_v<std::decay_t<U>, std::in_place_t> && std::is_constructible_v<ArrayRef<T>, U&&> && std::is_convertible_v<U&&, ArrayRef<T>> && !std::is_convertible_v<U&&, T>, bool> = false>
inline constexpr OptionalArrayRef(U &&value) noexcept(std::is_nothrow_constructible_v<ArrayRef<T>, U&&>)#
-
template<typename U = ArrayRef<T>, std::enable_if_t<!std::is_same_v<std::decay_t<U>, OptionalArrayRef> && !std::is_same_v<std::decay_t<U>, std::in_place_t> && std::is_constructible_v<ArrayRef<T>, U&&> && !std::is_convertible_v<U&&, ArrayRef<T>>, bool> = false>
inline explicit constexpr OptionalArrayRef(U &&value) noexcept(std::is_nothrow_constructible_v<ArrayRef<T>, U&&>)#
-
template<typename ...Args>
inline explicit constexpr OptionalArrayRef(std::in_place_t ip, Args&&... args) noexcept#
-
template<typename U, typename ...Args>
inline explicit constexpr OptionalArrayRef(std::in_place_t ip, std::initializer_list<U> il, Args&&... args)#
-
~OptionalArrayRef() = default#
-
inline constexpr OptionalArrayRef &operator=(std::nullopt_t) noexcept#
-
OptionalArrayRef &operator=(const OptionalArrayRef &other) = default#
-
OptionalArrayRef &operator=(OptionalArrayRef &&other) noexcept = default#
-
inline constexpr OptionalArrayRef &operator=(const std::optional<ArrayRef<T>> &other) noexcept#
-
inline constexpr OptionalArrayRef &operator=(std::optional<ArrayRef<T>> &&other) noexcept#
-
template<typename U = ArrayRef<T>, typename = std::enable_if_t<!std::is_same_v<std::decay_t<U>, OptionalArrayRef> && std::is_constructible_v<ArrayRef<T>, U&&> && std::is_assignable_v<ArrayRef<T>&, U&&>>>
inline constexpr OptionalArrayRef &operator=(U &&value) noexcept(std::is_nothrow_constructible_v<ArrayRef<T>, U&&> && std::is_nothrow_assignable_v<ArrayRef<T>&, U&&>)#
-
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_v<U&&, ArrayRef<T>>, ArrayRef<T>> value_or(U &&default_value) const &#
-
template<typename U>
inline constexpr std::enable_if_t<std::is_convertible_v<U&&, ArrayRef<T>>, ArrayRef<T>> value_or(U &&default_value) &&#
-
inline constexpr void swap(OptionalArrayRef &other) noexcept#
-
inline constexpr void reset() noexcept#
-
constexpr OptionalArrayRef() noexcept = default#