ndn::optional< T > Class Template Reference

#include <backports-optional.hpp>

+ Inheritance diagram for ndn::optional< T >:

Public Types

typedef T value_type
 

Public Member Functions

constexpr optional () noexcept
 
constexpr optional (nullopt_t) noexcept
 
constexpr optional (const T &value)
 
template<typename... Args>
constexpr optional (in_place_t, Args &&...args)
 
template<typename... Args>
void emplace (Args &&...args)
 
constexpr operator bool () const noexcept
 
constexpr const T & operator* () const
 
T & operator* ()
 
constexpr const T * operator-> () const
 
T * operator-> ()
 
optionaloperator= (nullopt_t) noexcept
 
optionaloperator= (const optional &other)
 
template<typename U , typename = typename std::enable_if<std::is_same<typename std::decay<U>::type, T>::value>::type>
optionaloperator= (U &&value)
 
void reset () noexcept
 
void swap (optional &other)
 
const T & value () const
 
T & value ()
 
template<typename U >
constexpr T value_or (U &&default_value) const
 

Friends

bool operator (const optional< T > &, const optional< T > &)
 
bool operator (const optional< T > &, const optional< T > &)
 
bool operator!= (const optional< T > &, const optional< T > &)
 
bool operator== (const optional< T > &, const optional< T > &)
 
bool operator> (const optional< T > &, const optional< T > &)
 
bool operator>= (const optional< T > &, const optional< T > &)
 

Detailed Description

template<typename T>
class ndn::optional< T >

Definition at line 93 of file backports-optional.hpp.

Member Typedef Documentation

template<typename T>
typedef T ndn::optional< T >::value_type

Definition at line 154 of file backports-optional.hpp.

Constructor & Destructor Documentation

template<typename T>
constexpr ndn::optional< T >::optional ( )
inlinenoexcept

Definition at line 159 of file backports-optional.hpp.

template<typename T>
constexpr ndn::optional< T >::optional ( nullopt_t  )
inlinenoexcept

Definition at line 164 of file backports-optional.hpp.

template<typename T>
constexpr ndn::optional< T >::optional ( const T &  value)
inline

Definition at line 169 of file backports-optional.hpp.

template<typename T>
template<typename... Args>
constexpr ndn::optional< T >::optional ( in_place_t  ,
Args &&...  args 
)
inlineexplicit

Definition at line 176 of file backports-optional.hpp.

Member Function Documentation

template<typename T>
template<typename... Args>
void ndn::optional< T >::emplace ( Args &&...  args)
inline

Definition at line 280 of file backports-optional.hpp.

template<typename T>
constexpr ndn::optional< T >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 230 of file backports-optional.hpp.

template<typename T>
constexpr const T& ndn::optional< T >::operator* ( ) const
inline

Definition at line 218 of file backports-optional.hpp.

template<typename T>
T& ndn::optional< T >::operator* ( )
inline

Definition at line 224 of file backports-optional.hpp.

template<typename T>
constexpr const T* ndn::optional< T >::operator-> ( ) const
inline

Definition at line 206 of file backports-optional.hpp.

template<typename T>
T* ndn::optional< T >::operator-> ( )
inline

Definition at line 212 of file backports-optional.hpp.

template<typename T>
optional& ndn::optional< T >::operator= ( nullopt_t  )
inlinenoexcept

Definition at line 182 of file backports-optional.hpp.

template<typename T>
optional& ndn::optional< T >::operator= ( const optional< T > &  other)
inline

Definition at line 189 of file backports-optional.hpp.

template<typename T>
template<typename U , typename = typename std::enable_if<std::is_same<typename std::decay<U>::type, T>::value>::type>
optional& ndn::optional< T >::operator= ( U &&  value)
inline

Definition at line 198 of file backports-optional.hpp.

template<typename T>
void ndn::optional< T >::reset ( )
inlinenoexcept

Definition at line 273 of file backports-optional.hpp.

template<typename T>
void ndn::optional< T >::swap ( optional< T > &  other)
inline

Definition at line 267 of file backports-optional.hpp.

template<typename T>
const T& ndn::optional< T >::value ( ) const
inline

Definition at line 236 of file backports-optional.hpp.

template<typename T>
T& ndn::optional< T >::value ( )
inline

Definition at line 242 of file backports-optional.hpp.

template<typename T>
template<typename U >
constexpr T ndn::optional< T >::value_or ( U &&  default_value) const
inline

Definition at line 256 of file backports-optional.hpp.

Friends And Related Function Documentation

template<typename T>
bool operator ( const optional< T > &  ,
const optional< T > &   
)
friend
template<typename T>
bool operator ( const optional< T > &  ,
const optional< T > &   
)
friend
template<typename T>
bool operator!= ( const optional< T > &  lhs,
const optional< T > &  rhs 
)
friend

Definition at line 305 of file backports-optional.hpp.

template<typename T>
bool operator== ( const optional< T > &  lhs,
const optional< T > &  rhs 
)
friend

Definition at line 298 of file backports-optional.hpp.

template<typename T>
bool operator> ( const optional< T > &  lhs,
const optional< T > &  rhs 
)
friend

Definition at line 326 of file backports-optional.hpp.

template<typename T>
bool operator>= ( const optional< T > &  lhs,
const optional< T > &  rhs 
)
friend

Definition at line 333 of file backports-optional.hpp.