V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::base::Optional< T > Class Template Reference
Inheritance diagram for v8::base::Optional< T >:
v8::base::internal::OptionalBase< T > v8::base::internal::CopyConstructible< std::is_copy_constructible< T >::value > v8::base::internal::MoveConstructible< std::is_move_constructible< T >::value > v8::base::internal::CopyAssignable< std::is_copy_constructible< T >::value &&std::is_copy_assignable< T >::value > v8::base::internal::MoveAssignable< std::is_move_constructible< T >::value &&std::is_move_assignable< T >::value >

Public Types

using value_type = T
 

Public Member Functions

constexpr Optional (const Optional &other)=default
 
constexpr Optional (Optional &&other)=default
 
constexpr Optional (nullopt_t)
 
template<typename U , typename std::enable_if< std::is_constructible< T, const U &>::value &&!internal::IsConvertibleFromOptional< T, U >::value &&std::is_convertible< const U &, T >::value, bool >::type = false>
 Optional (const Optional< U > &other)
 
template<typename U , typename std::enable_if< std::is_constructible< T, const U &>::value &&!internal::IsConvertibleFromOptional< T, U >::value &&!std::is_convertible< const U &, T >::value, bool >::type = false>
 Optional (const Optional< U > &other)
 
template<typename U , typename std::enable_if< std::is_constructible< T, U &&>::value &&!internal::IsConvertibleFromOptional< T, U >::value &&std::is_convertible< U &&, T >::value, bool >::type = false>
 Optional (Optional< U > &&other)
 
template<typename U , typename std::enable_if< std::is_constructible< T, U &&>::value &&!internal::IsConvertibleFromOptional< T, U >::value &&!std::is_convertible< U &&, T >::value, bool >::type = false>
 Optional (Optional< U > &&other)
 
template<class... Args>
constexpr Optional (in_place_t, Args &&... args)
 
template<class U , class... Args, class = typename std::enable_if<std::is_constructible< value_type, std::initializer_list<U>&, Args...>::value>::type>
constexpr Optional (in_place_t, std::initializer_list< U > il, Args &&... args)
 
template<typename U = value_type, typename std::enable_if< std::is_constructible< T, U &&>::value &&!std::is_same< internal::RemoveCvRefT< U >, in_place_t >::value &&!std::is_same< internal::RemoveCvRefT< U >, Optional< T >>::value &&std::is_convertible< U &&, T >::value, bool >::type = false>
constexpr Optional (U &&value)
 
template<typename U = value_type, typename std::enable_if< std::is_constructible< T, U &&>::value &&!std::is_same< internal::RemoveCvRefT< U >, in_place_t >::value &&!std::is_same< internal::RemoveCvRefT< U >, Optional< T >>::value &&!std::is_convertible< U &&, T >::value, bool >::type = false>
constexpr Optional (U &&value)
 
Optionaloperator= (const Optional &other)=default
 
Optionaloperator= (Optional &&other)=default
 
Optionaloperator= (nullopt_t)
 
template<typename U >
std::enable_if< !std::is_same< internal::RemoveCvRefT< U >, Optional< T > >::value &&std::is_constructible< T, U >::value &&std::is_assignable< T &, U >::value &&(!std::is_scalar< T >::value||!std::is_same< typename std::decay< U >::type, T >::value), Optional & >::type operator= (U &&value)
 
template<typename U >
std::enable_if<!internal::IsAssignableFromOptional< T, U >::value &&std::is_constructible< T, const U & >::value &&std::is_assignable< T &, const U & >::value, Optional & >::type operator= (const Optional< U > &other)
 
template<typename U >
std::enable_if<!internal::IsAssignableFromOptional< T, U >::value &&std::is_constructible< T, U >::value &&std::is_assignable< T &, U >::value, Optional & >::type operator= (Optional< U > &&other)
 
const Toperator-> () const
 
Toperator-> ()
 
const Toperator* () const &
 
Toperator* () &
 
const T && operator* () const &&
 
T && operator* () &&
 
constexpr operator bool () const
 
constexpr bool has_value () const
 
Tvalue () &
 
const Tvalue () const &
 
T && value () &&
 
const T && value () const &&
 
template<class U >
constexpr T value_or (U &&default_value) const &
 
template<class U >
T value_or (U &&default_value) &&
 
void swap (Optional &other)
 
void reset ()
 
template<class... Args>
Templace (Args &&... args)
 
template<class U , class... Args>
std::enable_if< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value, T & >::type emplace (std::initializer_list< U > il, Args &&... args)
 

Additional Inherited Members

- Protected Member Functions inherited from v8::base::internal::OptionalBase< T >
constexpr OptionalBase (const OptionalBase &other)=default
 
constexpr OptionalBase (OptionalBase &&other)=default
 
template<class... Args>
constexpr OptionalBase (in_place_t, Args &&... args)
 
template<typename U >
 OptionalBase (const OptionalBase< U > &other)
 
template<typename U >
 OptionalBase (OptionalBase< U > &&other)
 
OptionalBaseoperator= (const OptionalBase &other)
 
OptionalBaseoperator= (OptionalBase &&other) noexcept(std::is_nothrow_move_assignable< T >::value &&std::is_nothrow_move_constructible< T >::value)
 
template<typename U >
void CopyAssign (const OptionalBase< U > &other)
 
template<typename U >
void MoveAssign (OptionalBase< U > &&other)
 
template<typename U >
void InitOrAssign (U &&value)
 
void FreeIfNeeded ()
 
- Protected Attributes inherited from v8::base::internal::OptionalBase< T >
OptionalStorage< Tstorage_
 

Detailed Description

template<typename T>
class v8::base::Optional< T >

Definition at line 40 of file optional.h.


The documentation for this class was generated from the following file: