LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::Optional< T > Class Template Reference

#include <Optional.h>

Inheritance diagram for llvm::Optional< T >:
[legend]

Public Types

typedef T value_type
 

Public Member Functions

 Optional (NoneType)
 
 Optional ()
 
 Optional (const T &y)
 
 Optional (const Optional &O)
 
 Optional (T &&y)
 
 Optional (Optional< T > &&O)
 
Optionaloperator= (T &&y)
 
Optionaloperator= (Optional &&O)
 
template<typename... ArgTypes>
void emplace (ArgTypes &&...Args)
 Create a new object by constructing it in place with the given arguments. More...
 
Optionaloperator= (const T &y)
 
Optionaloperator= (const Optional &O)
 
void reset ()
 
 ~Optional ()
 
const TgetPointer () const
 
TgetPointer ()
 
const TgetValue () const LLVM_LVALUE_FUNCTION
 
TgetValue () LLVM_LVALUE_FUNCTION
 
 operator bool () const
 
bool hasValue () const
 
const Toperator-> () const
 
Toperator-> ()
 
const Toperator* () const LLVM_LVALUE_FUNCTION
 
Toperator* () LLVM_LVALUE_FUNCTION
 
template<typename U >
LLVM_CONSTEXPR T getValueOr (U &&value) const LLVM_LVALUE_FUNCTION
 

Static Public Member Functions

static Optional create (const T *y)
 

Detailed Description

template<typename T>
class llvm::Optional< T >

Definition at line 29 of file Optional.h.

Member Typedef Documentation

template<typename T>
typedef T llvm::Optional< T >::value_type

Definition at line 33 of file Optional.h.

Constructor & Destructor Documentation

template<typename T>
llvm::Optional< T >::Optional ( NoneType  )
inline

Definition at line 35 of file Optional.h.

template<typename T>
llvm::Optional< T >::Optional ( )
inlineexplicit
template<typename T>
llvm::Optional< T >::Optional ( const T y)
inline

Definition at line 37 of file Optional.h.

template<typename T>
llvm::Optional< T >::Optional ( const Optional< T > &  O)
inline

Definition at line 40 of file Optional.h.

template<typename T>
llvm::Optional< T >::Optional ( T &&  y)
inline

Definition at line 45 of file Optional.h.

template<typename T>
llvm::Optional< T >::Optional ( Optional< T > &&  O)
inline

Definition at line 48 of file Optional.h.

template<typename T>
llvm::Optional< T >::~Optional ( )
inline

Definition at line 115 of file Optional.h.

Member Function Documentation

template<typename T>
static Optional llvm::Optional< T >::create ( const T y)
inlinestatic

Definition at line 81 of file Optional.h.

template<typename T>
template<typename... ArgTypes>
void llvm::Optional< T >::emplace ( ArgTypes &&...  Args)
inline

Create a new object by constructing it in place with the given arguments.

Definition at line 75 of file Optional.h.

template<typename T>
const T* llvm::Optional< T >::getPointer ( ) const
inline
template<typename T>
T* llvm::Optional< T >::getPointer ( )
inline

Definition at line 120 of file Optional.h.

template<typename T>
const T& llvm::Optional< T >::getValue ( ) const
inline
template<typename T>
T& llvm::Optional< T >::getValue ( )
inline

Definition at line 122 of file Optional.h.

template<typename T>
template<typename U >
LLVM_CONSTEXPR T llvm::Optional< T >::getValueOr ( U &&  value) const
inline

Definition at line 132 of file Optional.h.

template<typename T>
bool llvm::Optional< T >::hasValue ( ) const
inline
template<typename T>
llvm::Optional< T >::operator bool ( ) const
inlineexplicit

Definition at line 124 of file Optional.h.

template<typename T>
const T& llvm::Optional< T >::operator* ( ) const
inline

Definition at line 128 of file Optional.h.

template<typename T>
T& llvm::Optional< T >::operator* ( )
inline

Definition at line 129 of file Optional.h.

template<typename T>
const T* llvm::Optional< T >::operator-> ( ) const
inline

Definition at line 126 of file Optional.h.

template<typename T>
T* llvm::Optional< T >::operator-> ( )
inline

Definition at line 127 of file Optional.h.

template<typename T>
Optional& llvm::Optional< T >::operator= ( T &&  y)
inline

Definition at line 54 of file Optional.h.

template<typename T>
Optional& llvm::Optional< T >::operator= ( Optional< T > &&  O)
inline

Definition at line 63 of file Optional.h.

template<typename T>
Optional& llvm::Optional< T >::operator= ( const T y)
inline

Definition at line 90 of file Optional.h.

template<typename T>
Optional& llvm::Optional< T >::operator= ( const Optional< T > &  O)
inline

Definition at line 100 of file Optional.h.

template<typename T>
void llvm::Optional< T >::reset ( )
inline

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