Rate this Page

Template Class OptionalArrayRef#

Class Documentation#

template<typenameT>
classOptionalArrayRef#

Public Functions

constexprOptionalArrayRef()noexcept=default#
inlineconstexprOptionalArrayRef(std::nullopt_t)noexcept#
OptionalArrayRef(constOptionalArrayRef&other)=default#
OptionalArrayRef(OptionalArrayRef&&other)noexcept=default#
inlineconstexprOptionalArrayRef(conststd::optional<ArrayRef<T>>&other)noexcept#
inlineconstexprOptionalArrayRef(std::optional<ArrayRef<T>>&&other)noexcept#
inlineconstexprOptionalArrayRef(constT&value)noexcept#
template<typenameU=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>
inlineconstexprOptionalArrayRef(U&&value)noexcept(std::is_nothrow_constructible_v<ArrayRef<T>,U&&>)#
template<typenameU=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>
inlineexplicitconstexprOptionalArrayRef(U&&value)noexcept(std::is_nothrow_constructible_v<ArrayRef<T>,U&&>)#
template<typename...Args>
inlineexplicitconstexprOptionalArrayRef(std::in_place_tip,Args&&...args)noexcept#
template<typenameU,typename...Args>
inlineexplicitconstexprOptionalArrayRef(std::in_place_tip,std::initializer_list<U>il,Args&&...args)#
inlineconstexprOptionalArrayRef(conststd::initializer_list<T>&Vec)#
~OptionalArrayRef()=default#
inlineconstexprOptionalArrayRef&operator=(std::nullopt_t)noexcept#
OptionalArrayRef&operator=(constOptionalArrayRef&other)=default#
OptionalArrayRef&operator=(OptionalArrayRef&&other)noexcept=default#
inlineconstexprOptionalArrayRef&operator=(conststd::optional<ArrayRef<T>>&other)noexcept#
inlineconstexprOptionalArrayRef&operator=(std::optional<ArrayRef<T>>&&other)noexcept#
template<typenameU=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&&>>>
inlineconstexprOptionalArrayRef&operator=(U&&value)noexcept(std::is_nothrow_constructible_v<ArrayRef<T>,U&&>&&std::is_nothrow_assignable_v<ArrayRef<T>&,U&&>)#
inlineconstexprArrayRef<T>*operator->()noexcept#
inlineconstexprconstArrayRef<T>*operator->()constnoexcept#
inlineconstexprArrayRef<T>&operator*()&noexcept#
inlineconstexprconstArrayRef<T>&operator*()const&noexcept#
inlineconstexprArrayRef<T>&&operator*()&&noexcept#
inlineconstexprconstArrayRef<T>&&operator*()const&&noexcept#
inlineexplicitconstexproperatorbool()constnoexcept#
inlineconstexprboolhas_value()constnoexcept#
inlineconstexprArrayRef<T>&value()&#
inlineconstexprconstArrayRef<T>&value()const&#
inlineconstexprArrayRef<T>&&value()&&#
inlineconstexprconstArrayRef<T>&&value()const&&#
template<typenameU>
inlineconstexprstd::enable_if_t<std::is_convertible_v<U&&,ArrayRef<T>>,ArrayRef<T>>value_or(U&&default_value)const&#
template<typenameU>
inlineconstexprstd::enable_if_t<std::is_convertible_v<U&&,ArrayRef<T>>,ArrayRef<T>>value_or(U&&default_value)&&#
inlineconstexprvoidswap(OptionalArrayRef&other)noexcept#
inlineconstexprvoidreset()noexcept#
template<typename...Args>
inlineconstexprstd::enable_if_t<std::is_constructible_v<ArrayRef<T>,Args&&...>,ArrayRef<T>&>emplace(Args&&...args)noexcept(std::is_nothrow_constructible_v<ArrayRef<T>,Args&&...>)#
template<typenameU,typename...Args>
inlineconstexprArrayRef<T>&emplace(std::initializer_list<U>il,Args&&...args)noexcept#