cpp17

Summary

Enumerations

byte{
}
enum

Typedefs

bool_constant using
std::integral_constant< bool, B >
invoke_result_t using
typename invoke_result< F, Args...>::type
string_view using
u16string_view using
u32string_view using
variant_alternative_t using
typename variant_alternative< index, Variant >::type
void_t using
void
wstring_view using

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)
constexpr optional< std::decay_t< T > >
make_optional(Args &&... args)
constexpr optional< T >
make_optional(std::initializer_list< U > init_list, Args &&... args)
constexpr optional< T >
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

Classes

cpp17::bad_optional_access
cpp17::bad_variant_access
cpp17::basic_string_view
cpp17::optional

Structs

cpp17::conjunction
cpp17::conjunction< First, Rest...>
cpp17::conjunction< T >
cpp17::disjunction
cpp17::disjunction< First, Rest...>
cpp17::disjunction< T >
cpp17::in_place_index_t
cpp17::in_place_t
cpp17::in_place_type_t
cpp17::invoke_result
cpp17::is_aggregate
cpp17::is_invocable
cpp17::is_invocable_r
cpp17::is_nothrow_invocable
cpp17::is_nothrow_invocable_r
cpp17::monostate
cpp17::negation
cpp17::nullopt_t
cpp17::variant_alternative
cpp17::variant_alternative< Index, variant< Ts...> >
cpp17::variant_size
cpp17::variant_size< const T >
cpp17::variant_size< const volatile T >
cpp17::variant_size< variant< Ts...> >
cpp17::variant_size< volatile T >

Namespaces

cpp17::literals

Enumerations

byte

 byte
Properties

Typedefs

bool_constant

std::integral_constant< bool, B > bool_constant

invoke_result_t

typename invoke_result< F, Args...>::type invoke_result_t

string_view

cpp17::basic_string_view< char > string_view

u16string_view

cpp17::basic_string_view< char16_t > u16string_view

u32string_view

cpp17::basic_string_view< char32_t > u32string_view

variant_alternative_t

typename variant_alternative< index, Variant >::type variant_alternative_t

void_t

void void_t

wstring_view

cpp17::basic_string_view< wchar_t > wstring_view

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,
  nullopt_t
)

operator!=

constexpr bool operator!=(
  nullopt_t,
  const optional< T > & 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!=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator!=

constexpr bool operator!=(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator!=

constexpr bool operator!=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) noexcept

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 bool operator<(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator<

constexpr bool operator<(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator<

constexpr bool operator<(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) noexcept

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<=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator<=

constexpr bool operator<=(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator<=

constexpr bool operator<=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) noexcept

operator==

constexpr bool operator==(
  const optional< T > & lhs,
  nullopt_t
)

operator==

constexpr bool operator==(
  nullopt_t,
  const optional< T > & 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==(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator==

constexpr bool operator==(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator==

constexpr bool operator==(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) 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>(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator>

constexpr bool operator>(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator>

constexpr bool operator>(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) 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>=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator>=

constexpr bool operator>=(
  RawType lhs,
  cpp17::basic_string_view< CharT, Traits > rhs
) noexcept

operator>=

constexpr bool operator>=(
  cpp17::basic_string_view< CharT, Traits > lhs,
  RawType rhs
) noexcept

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
)

swap

void swap(
  variant< Ts...> & a,
  variant< Ts...> & 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
)