LLVM  8.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::optional_detail::OptionalStorage< T, IsPodLike > Struct Template Reference

Storage for any type. More...

#include "llvm/ADT/Optional.h"

Collaboration diagram for llvm::optional_detail::OptionalStorage< T, IsPodLike >:
Collaboration graph
[legend]

Public Member Functions

 OptionalStorage ()=default
 
 OptionalStorage (const T &y)
 
 OptionalStorage (const OptionalStorage &O)
 
 OptionalStorage (T &&y)
 
 OptionalStorage (OptionalStorage &&O)
 
OptionalStorageoperator= (T &&y)
 
OptionalStorageoperator= (OptionalStorage &&O)
 
OptionalStorageoperator= (const T &y)
 
OptionalStorageoperator= (const OptionalStorage &O)
 
 ~OptionalStorage ()
 
void reset ()
 
TgetPointer ()
 
const TgetPointer () const
 

Public Attributes

AlignedCharArrayUnion< Tstorage
 
bool hasVal = false
 

Detailed Description

template<typename T, bool IsPodLike>
struct llvm::optional_detail::OptionalStorage< T, IsPodLike >

Storage for any type.

Definition at line 32 of file Optional.h.

Constructor & Destructor Documentation

◆ OptionalStorage() [1/5]

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::OptionalStorage ( )
default

◆ OptionalStorage() [2/5]

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::OptionalStorage ( const T y)
inline

Definition at line 38 of file Optional.h.

◆ OptionalStorage() [3/5]

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::OptionalStorage ( const OptionalStorage< T, IsPodLike > &  O)
inline

Definition at line 39 of file Optional.h.

◆ OptionalStorage() [4/5]

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::OptionalStorage ( T &&  y)
inline

Definition at line 43 of file Optional.h.

◆ OptionalStorage() [5/5]

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::OptionalStorage ( OptionalStorage< T, IsPodLike > &&  O)
inline

Definition at line 46 of file Optional.h.

◆ ~OptionalStorage()

template<typename T, bool IsPodLike>
llvm::optional_detail::OptionalStorage< T, IsPodLike >::~OptionalStorage ( )
inline

Definition at line 92 of file Optional.h.

Member Function Documentation

◆ getPointer() [1/2]

template<typename T, bool IsPodLike>
T* llvm::optional_detail::OptionalStorage< T, IsPodLike >::getPointer ( )
inline

◆ getPointer() [2/2]

template<typename T, bool IsPodLike>
const T* llvm::optional_detail::OptionalStorage< T, IsPodLike >::getPointer ( ) const
inline

Definition at line 105 of file Optional.h.

◆ operator=() [1/4]

template<typename T, bool IsPodLike>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, IsPodLike >::operator= ( T &&  y)
inline

Definition at line 52 of file Optional.h.

Referenced by llvm::Optional< uint64_t >::operator=().

◆ operator=() [2/4]

template<typename T, bool IsPodLike>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, IsPodLike >::operator= ( OptionalStorage< T, IsPodLike > &&  O)
inline

Definition at line 61 of file Optional.h.

◆ operator=() [3/4]

template<typename T, bool IsPodLike>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, IsPodLike >::operator= ( const T y)
inline

Definition at line 75 of file Optional.h.

◆ operator=() [4/4]

template<typename T, bool IsPodLike>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, IsPodLike >::operator= ( const OptionalStorage< T, IsPodLike > &  O)
inline

Definition at line 84 of file Optional.h.

◆ reset()

template<typename T, bool IsPodLike>
void llvm::optional_detail::OptionalStorage< T, IsPodLike >::reset ( )
inline

Member Data Documentation

◆ hasVal

template<typename T, bool IsPodLike>
bool llvm::optional_detail::OptionalStorage< T, IsPodLike >::hasVal = false

◆ storage

template<typename T, bool IsPodLike>
AlignedCharArrayUnion<T> llvm::optional_detail::OptionalStorage< T, IsPodLike >::storage

Definition at line 33 of file Optional.h.

Referenced by llvm::Optional< uint64_t >::getPointer().


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