clang 19.0.0git
Public Types | Public Member Functions | List of all members
clang::CustomizableOptional< T > Class Template Reference

#include "clang/Basic/CustomizableOptional.h"

Inheritance diagram for clang::CustomizableOptional< T >:
Inheritance graph
[legend]

Public Types

using value_type = T
 

Public Member Functions

constexpr CustomizableOptional ()=default
 
constexpr CustomizableOptional (std::nullopt_t)
 
constexpr CustomizableOptional (const T &y)
 
constexpr CustomizableOptional (const CustomizableOptional &O)=default
 
constexpr CustomizableOptional (T &&y)
 
constexpr CustomizableOptional (CustomizableOptional &&O)=default
 
template<typename... ArgTypes>
constexpr CustomizableOptional (std::in_place_t, ArgTypes &&...Args)
 
constexpr CustomizableOptional (const std::optional< T > &y)
 
constexpr CustomizableOptional (std::optional< T > &&y)
 
CustomizableOptionaloperator= (T &&y)
 
CustomizableOptionaloperator= (CustomizableOptional &&O)=default
 
template<typename... ArgTypes>
void emplace (ArgTypes &&...Args)
 Create a new object by constructing it in place with the given arguments.
 
CustomizableOptionaloperator= (const T &y)
 
CustomizableOptionaloperator= (const CustomizableOptional &O)=default
 
void reset ()
 
constexpr const TgetPointer () const
 
TgetPointer ()
 
constexpr const Tvalue () const &
 
Tvalue () &
 
constexpr operator bool () const
 
constexpr bool has_value () const
 
constexpr const Toperator-> () const
 
Toperator-> ()
 
constexpr const Toperator* () const &
 
Toperator* () &
 
template<typename U >
constexpr T value_or (U &&alt) const &
 
T && value () &&
 
T && operator* () &&
 
template<typename U >
T value_or (U &&alt) &&
 
 operator std::optional< T > & () const &
 
 operator std::optional< T > && () const &&
 

Detailed Description

template<typename T>
class clang::CustomizableOptional< T >

Definition at line 28 of file CustomizableOptional.h.

Member Typedef Documentation

◆ value_type

template<typename T >
using clang::CustomizableOptional< T >::value_type = T

Definition at line 32 of file CustomizableOptional.h.

Constructor & Destructor Documentation

◆ CustomizableOptional() [1/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( )
constexprdefault

◆ CustomizableOptional() [2/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( std::nullopt_t  )
inlineconstexpr

Definition at line 35 of file CustomizableOptional.h.

◆ CustomizableOptional() [3/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( const T y)
inlineconstexpr

Definition at line 37 of file CustomizableOptional.h.

◆ CustomizableOptional() [4/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( const CustomizableOptional< T > &  O)
constexprdefault

◆ CustomizableOptional() [5/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( T &&  y)
inlineconstexpr

Definition at line 40 of file CustomizableOptional.h.

◆ CustomizableOptional() [6/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( CustomizableOptional< T > &&  O)
constexprdefault

◆ CustomizableOptional() [7/9]

template<typename T >
template<typename... ArgTypes>
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( std::in_place_t  ,
ArgTypes &&...  Args 
)
inlineconstexpr

Definition at line 45 of file CustomizableOptional.h.

◆ CustomizableOptional() [8/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( const std::optional< T > &  y)
inlineconstexpr

Definition at line 49 of file CustomizableOptional.h.

◆ CustomizableOptional() [9/9]

template<typename T >
constexpr clang::CustomizableOptional< T >::CustomizableOptional ( std::optional< T > &&  y)
inlineconstexpr

Definition at line 51 of file CustomizableOptional.h.

Member Function Documentation

◆ emplace()

template<typename T >
template<typename... ArgTypes>
void clang::CustomizableOptional< T >::emplace ( ArgTypes &&...  Args)
inline

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

Definition at line 61 of file CustomizableOptional.h.

◆ getPointer() [1/2]

template<typename T >
T * clang::CustomizableOptional< T >::getPointer ( )
inline

Definition at line 76 of file CustomizableOptional.h.

◆ getPointer() [2/2]

template<typename T >
constexpr const T * clang::CustomizableOptional< T >::getPointer ( ) const
inlineconstexpr

Definition at line 74 of file CustomizableOptional.h.

◆ has_value()

template<typename T >
constexpr bool clang::CustomizableOptional< T >::has_value ( ) const
inlineconstexpr

◆ operator bool()

template<typename T >
constexpr clang::CustomizableOptional< T >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator std::optional< T > &()

template<typename T >
clang::CustomizableOptional< T >::operator std::optional< T > & ( ) const &
inlineexplicit

Definition at line 102 of file CustomizableOptional.h.

◆ operator std::optional< T > &&()

template<typename T >
clang::CustomizableOptional< T >::operator std::optional< T > && ( ) const &&
inlineexplicit

Definition at line 105 of file CustomizableOptional.h.

◆ operator*() [1/3]

template<typename T >
T & clang::CustomizableOptional< T >::operator* ( ) &
inline

Definition at line 87 of file CustomizableOptional.h.

◆ operator*() [2/3]

template<typename T >
T && clang::CustomizableOptional< T >::operator* ( ) &&
inline

Definition at line 95 of file CustomizableOptional.h.

◆ operator*() [3/3]

template<typename T >
constexpr const T & clang::CustomizableOptional< T >::operator* ( ) const &
inlineconstexpr

Definition at line 86 of file CustomizableOptional.h.

Referenced by clang::CustomizableOptional< T >::value_or().

◆ operator->() [1/2]

template<typename T >
T * clang::CustomizableOptional< T >::operator-> ( )
inline

Definition at line 85 of file CustomizableOptional.h.

◆ operator->() [2/2]

template<typename T >
constexpr const T * clang::CustomizableOptional< T >::operator-> ( ) const
inlineconstexpr

Definition at line 84 of file CustomizableOptional.h.

◆ operator=() [1/4]

template<typename T >
CustomizableOptional & clang::CustomizableOptional< T >::operator= ( const CustomizableOptional< T > &  O)
default

◆ operator=() [2/4]

template<typename T >
CustomizableOptional & clang::CustomizableOptional< T >::operator= ( const T y)
inline

Definition at line 65 of file CustomizableOptional.h.

◆ operator=() [3/4]

template<typename T >
CustomizableOptional & clang::CustomizableOptional< T >::operator= ( CustomizableOptional< T > &&  O)
default

◆ operator=() [4/4]

template<typename T >
CustomizableOptional & clang::CustomizableOptional< T >::operator= ( T &&  y)
inline

Definition at line 54 of file CustomizableOptional.h.

◆ reset()

template<typename T >
void clang::CustomizableOptional< T >::reset ( )
inline

Definition at line 71 of file CustomizableOptional.h.

◆ value() [1/3]

template<typename T >
T & clang::CustomizableOptional< T >::value ( ) &
inline

Definition at line 80 of file CustomizableOptional.h.

◆ value() [2/3]

template<typename T >
T && clang::CustomizableOptional< T >::value ( ) &&
inline

Definition at line 94 of file CustomizableOptional.h.

◆ value() [3/3]

template<typename T >
constexpr const T & clang::CustomizableOptional< T >::value ( ) const &
inlineconstexpr

Definition at line 78 of file CustomizableOptional.h.

◆ value_or() [1/2]

template<typename T >
template<typename U >
T clang::CustomizableOptional< T >::value_or ( U &&  alt) &&
inline

◆ value_or() [2/2]

template<typename T >
template<typename U >
constexpr T clang::CustomizableOptional< T >::value_or ( U &&  alt) const &
inlineconstexpr

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