LLVM  10.0.0svn
Public Member Functions | List of all members
llvm::optional_detail::OptionalStorage< T, bool > Class Template Reference

Storage for any type. More...

#include "llvm/ADT/Optional.h"

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

Public Member Functions

 ~OptionalStorage ()
 
 OptionalStorage () noexcept
 
 OptionalStorage (OptionalStorage const &other)
 
 OptionalStorage (OptionalStorage &&other)
 
template<class... Args>
 OptionalStorage (in_place_t, Args &&... args)
 
void reset () noexcept
 
bool hasValue () const noexcept
 
TgetValue () LLVM_LVALUE_FUNCTION noexcept
 
T constgetValue () const LLVM_LVALUE_FUNCTION noexcept
 
template<class... Args>
void emplace (Args &&... args)
 
OptionalStorageoperator= (T const &y)
 
OptionalStorageoperator= (T &&y)
 
OptionalStorageoperator= (OptionalStorage const &other)
 
OptionalStorageoperator= (OptionalStorage &&other)
 

Detailed Description

template<typename T, bool = is_trivially_copyable<T>::value>
class llvm::optional_detail::OptionalStorage< T, bool >

Storage for any type.

Definition at line 36 of file Optional.h.

Constructor & Destructor Documentation

◆ ~OptionalStorage()

template<typename T, bool = is_trivially_copyable<T>::value>
llvm::optional_detail::OptionalStorage< T, bool >::~OptionalStorage ( )
inline

Definition at line 44 of file Optional.h.

◆ OptionalStorage() [1/4]

template<typename T, bool = is_trivially_copyable<T>::value>
llvm::optional_detail::OptionalStorage< T, bool >::OptionalStorage ( )
inlinenoexcept

Definition at line 46 of file Optional.h.

◆ OptionalStorage() [2/4]

template<typename T, bool = is_trivially_copyable<T>::value>
llvm::optional_detail::OptionalStorage< T, bool >::OptionalStorage ( OptionalStorage< T, bool > const other)
inline

Definition at line 48 of file Optional.h.

◆ OptionalStorage() [3/4]

template<typename T, bool = is_trivially_copyable<T>::value>
llvm::optional_detail::OptionalStorage< T, bool >::OptionalStorage ( OptionalStorage< T, bool > &&  other)
inline

Definition at line 53 of file Optional.h.

◆ OptionalStorage() [4/4]

template<typename T, bool = is_trivially_copyable<T>::value>
template<class... Args>
llvm::optional_detail::OptionalStorage< T, bool >::OptionalStorage ( in_place_t  ,
Args &&...  args 
)
inlineexplicit

Definition at line 60 of file Optional.h.

Member Function Documentation

◆ emplace()

template<typename T, bool = is_trivially_copyable<T>::value>
template<class... Args>
void llvm::optional_detail::OptionalStorage< T, bool >::emplace ( Args &&...  args)
inline

Definition at line 87 of file Optional.h.

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

◆ getValue() [1/2]

template<typename T, bool = is_trivially_copyable<T>::value>
T& llvm::optional_detail::OptionalStorage< T, bool >::getValue ( )
inlinenoexcept

◆ getValue() [2/2]

template<typename T, bool = is_trivially_copyable<T>::value>
T const& llvm::optional_detail::OptionalStorage< T, bool >::getValue ( ) const
inlinenoexcept

Definition at line 76 of file Optional.h.

◆ hasValue()

template<typename T, bool = is_trivially_copyable<T>::value>
bool llvm::optional_detail::OptionalStorage< T, bool >::hasValue ( ) const
inlinenoexcept

◆ operator=() [1/4]

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

Definition at line 93 of file Optional.h.

◆ operator=() [2/4]

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

Definition at line 102 of file Optional.h.

◆ operator=() [3/4]

template<typename T, bool = is_trivially_copyable<T>::value>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, bool >::operator= ( OptionalStorage< T, bool > const other)
inline

Definition at line 112 of file Optional.h.

◆ operator=() [4/4]

template<typename T, bool = is_trivially_copyable<T>::value>
OptionalStorage& llvm::optional_detail::OptionalStorage< T, bool >::operator= ( OptionalStorage< T, bool > &&  other)
inline

Definition at line 126 of file Optional.h.

◆ reset()

template<typename T, bool = is_trivially_copyable<T>::value>
void llvm::optional_detail::OptionalStorage< T, bool >::reset ( )
inlinenoexcept

Definition at line 63 of file Optional.h.

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

Member Data Documentation

◆ empty

template<typename T, bool = is_trivially_copyable<T>::value>
char llvm::optional_detail::OptionalStorage< T, bool >::empty

Definition at line 38 of file Optional.h.

◆ value

template<typename T, bool = is_trivially_copyable<T>::value>
T llvm::optional_detail::OptionalStorage< T, bool >::value

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