cpp17
Summary
Functions
|
addressof(T & arg) noexcept
|
constexpr T *
|
addressof(const T &&)=delete
|
const T *
|
apply(F && f, T && tuple)
|
decltype(auto) constexpr
|
as_const(T & t) noexcept
|
constexpr std::add_const_t< T > &
|
as_const(T &&)=delete
|
void
|
data(C & c)
|
constexpr auto
|
data(const C & c)
|
constexpr auto
|
data(T(&) array[N])
|
constexpr T *
|
data(std::initializer_list< E > il) noexcept
|
constexpr const E *
|
get(variant< Ts...> & value)
|
constexpr cpp17::variant_alternative_t< Index, variant< Ts...> > &
|
get(variant< Ts...> && value)
|
constexpr cpp17::variant_alternative_t< Index, variant< Ts...> > &&
|
get(const variant< Ts...> & value)
|
constexpr const cpp17::variant_alternative_t< Index, variant< Ts...> > &
|
get(const variant< Ts...> && value)
|
constexpr const cpp17::variant_alternative_t< Index, variant< Ts...> > &&
|
get(variant< Ts...> & value)
|
constexpr T &
|
get(variant< Ts...> && value)
|
constexpr T &&
|
get(const variant< Ts...> & value)
|
constexpr const T &
|
get(const variant< Ts...> && value)
|
constexpr const T &&
|
holds_alternative(const variant< Ts...> & value)
|
constexpr bool
|
make_optional(T && value)
|
|
make_optional(Args &&... args)
|
|
make_optional(std::initializer_list< U > init_list, Args &&... args)
|
|
operator!=(const optional< T > & lhs, nullopt_t)
|
constexpr bool
|
operator!=(nullopt_t, const optional< T > & rhs)
|
constexpr bool
|
operator!=(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator!=(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator!=(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator!=(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator!=(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator!=(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator&(byte l, byte r) noexcept
|
constexpr byte
|
operator&=(byte & l, byte r) noexcept
|
constexpr byte &
|
operator<(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator<(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator<(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator<(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator<(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator<(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator<<(byte b, IntegerType shift) noexcept
|
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte >
|
operator<<=(byte & b, IntegerType shift) noexcept
|
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & >
|
operator<=(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator<=(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator<=(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator<=(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator<=(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator<=(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator==(const optional< T > & lhs, nullopt_t)
|
constexpr bool
|
operator==(nullopt_t, const optional< T > & rhs)
|
constexpr bool
|
operator==(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator==(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator==(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator==(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator==(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator==(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator>(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator>(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator>(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator>(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator>(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator>(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator>=(const optional< T > & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator>=(const optional< T > & lhs, const U & rhs)
|
constexpr bool
|
operator>=(const T & lhs, const optional< U > & rhs)
|
constexpr bool
|
operator>=(cpp17::basic_string_view< CharT, Traits > lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator>=(RawType lhs, cpp17::basic_string_view< CharT, Traits > rhs) noexcept
|
constexpr bool
|
operator>=(cpp17::basic_string_view< CharT, Traits > lhs, RawType rhs) noexcept
|
constexpr bool
|
operator>>(byte b, IntegerType shift) noexcept
|
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte >
|
operator>>=(byte & b, IntegerType shift) noexcept
|
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & >
|
operator^(byte l, byte r) noexcept
|
constexpr byte
|
operator^=(byte & l, byte r) noexcept
|
constexpr byte &
|
operator|(byte l, byte r) noexcept
|
constexpr byte
|
operator|=(byte & l, byte r) noexcept
|
constexpr byte &
|
operator~(byte b) noexcept
|
constexpr byte
|
size(const C & c)
|
constexpr auto
|
size(const T(&) array[N])
|
constexpr std::size_t
|
swap(optional< T > & a, optional< T > & b)
|
std::enable_if_t<(std::is_move_constructible< T >::value &&::cpp17::internal::is_swappable< T >::value)>
|
swap(variant< Ts...> & a, variant< Ts...> & b)
|
void
|
to_integer(byte b) noexcept
|
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, IntegerType >
|
visit(Visitor && visitor, Variants &&... variants)
|
decltype(auto) constexpr
|
Enumerations
Typedefs
bool_constant
std::integral_constant< bool, B > bool_constant
invoke_result_t
typename invoke_result< F, Args...>::type invoke_result_t
variant_alternative_t
typename variant_alternative< index, Variant >::type variant_alternative_t
Functions
addressof
constexpr T * addressof(
T & arg
) noexcept
addressof
const T * addressof(
const T &&
)=delete
apply
decltype(auto) constexpr apply(
F && f,
T && tuple
)
as_const
constexpr std::add_const_t< T > & as_const(
T & t
) noexcept
as_const
void as_const(
T &&
)=delete
data
constexpr auto data(
C & c
)
data
constexpr auto data(
const C & c
)
data
constexpr T * data(
T(&) array[N]
)
data
constexpr const E * data(
std::initializer_list< E > il
) noexcept
get
constexpr cpp17::variant_alternative_t< Index, variant< Ts...> > & get(
variant< Ts...> & value
)
get
constexpr cpp17::variant_alternative_t< Index, variant< Ts...> > && get(
variant< Ts...> && value
)
get
constexpr const cpp17::variant_alternative_t< Index, variant< Ts...> > & get(
const variant< Ts...> & value
)
get
constexpr const cpp17::variant_alternative_t< Index, variant< Ts...> > && get(
const variant< Ts...> && value
)
get
constexpr T & get(
variant< Ts...> & value
)
get
constexpr T && get(
variant< Ts...> && value
)
get
constexpr const T & get(
const variant< Ts...> & value
)
get
constexpr const T && get(
const variant< Ts...> && value
)
holds_alternative
constexpr bool holds_alternative(
const variant< Ts...> & value
)
make_optional
constexpr optional< std::decay_t< T > > make_optional(
T && value
)
make_optional
constexpr optional< T > make_optional(
Args &&... args
)
make_optional
constexpr optional< T > make_optional(
std::initializer_list< U > init_list,
Args &&... args
)
operator!=
constexpr bool operator!=(
const optional< T > & lhs,
const optional< U > & rhs
)
operator!=
constexpr bool operator!=(
const optional< T > & lhs,
const U & rhs
)
operator!=
constexpr bool operator!=(
const T & lhs,
const optional< U > & rhs
)
operator&
constexpr byte operator&(
byte l,
byte r
) noexcept
operator&=
constexpr byte & operator&=(
byte & l,
byte r
) noexcept
operator<
constexpr bool operator<(
const optional< T > & lhs,
const optional< U > & rhs
)
operator<
constexpr bool operator<(
const optional< T > & lhs,
const U & rhs
)
operator<
constexpr bool operator<(
const T & lhs,
const optional< U > & rhs
)
operator<<
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte > operator<<(
byte b,
IntegerType shift
) noexcept
operator<<=
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & > operator<<=(
byte & b,
IntegerType shift
) noexcept
operator<=
constexpr bool operator<=(
const optional< T > & lhs,
const optional< U > & rhs
)
operator<=
constexpr bool operator<=(
const optional< T > & lhs,
const U & rhs
)
operator<=
constexpr bool operator<=(
const T & lhs,
const optional< U > & rhs
)
operator==
constexpr bool operator==(
const optional< T > & lhs,
const optional< U > & rhs
)
operator==
constexpr bool operator==(
const optional< T > & lhs,
const U & rhs
)
operator==
constexpr bool operator==(
const T & lhs,
const optional< U > & rhs
)
operator>
constexpr bool operator>(
const optional< T > & lhs,
const optional< U > & rhs
)
operator>
constexpr bool operator>(
const optional< T > & lhs,
const U & rhs
)
operator>
constexpr bool operator>(
const T & lhs,
const optional< U > & rhs
)
operator>=
constexpr bool operator>=(
const optional< T > & lhs,
const optional< U > & rhs
)
operator>=
constexpr bool operator>=(
const optional< T > & lhs,
const U & rhs
)
operator>=
constexpr bool operator>=(
const T & lhs,
const optional< U > & rhs
)
operator>>
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte > operator>>(
byte b,
IntegerType shift
) noexcept
operator>>=
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & > operator>>=(
byte & b,
IntegerType shift
) noexcept
operator^
constexpr byte operator^(
byte l,
byte r
) noexcept
operator^=
constexpr byte & operator^=(
byte & l,
byte r
) noexcept
operator|
constexpr byte operator|(
byte l,
byte r
) noexcept
operator|=
constexpr byte & operator|=(
byte & l,
byte r
) noexcept
operator~
constexpr byte operator~(
byte b
) noexcept
size
constexpr auto size(
const C & c
)
size
constexpr std::size_t size(
const T(&) array[N]
)
swap
std::enable_if_t<(std::is_move_constructible< T >::value &&::cpp17::internal::is_swappable< T >::value)> swap(
optional< T > & a,
optional< T > & b
)
to_integer
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, IntegerType > to_integer(
byte b
) noexcept
visit
decltype(auto) constexpr visit(
Visitor && visitor,
Variants &&... variants
)