mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::OptionalReference< T > Class Template Reference

#include <OptionalReference.h>

Public Types

using value_type = T

Public Member Functions

constexpr OptionalReference () noexcept
constexpr OptionalReference (std::nullopt_t) noexcept
template<typename U>
requires std::is_convertible_v<U &, T &>
constexpr OptionalReference (U &value) noexcept
constexpr OptionalReference (const OptionalReference &other) noexcept=default
template<typename U>
requires std::is_convertible_v<U &, T &>
constexpr OptionalReference (const OptionalReference< U > &other) noexcept
constexpr OptionalReferenceoperator= (const OptionalReference &other) noexcept=default
constexpr operator bool () const noexcept
constexpr bool has_value () const noexcept
constexpr T * operator-> () const noexcept
constexpr T & operator* () const noexcept
constexpr T & value () const
template<typename U = std::remove_cv_t<T>>
requires std::is_convertible_v<U &&, std::remove_cv_t<T>>
constexpr std::remove_cv_t< T > value_or (U &&defaultValue) const
constexpr void reset () noexcept
constexpr void swap (OptionalReference &other) noexcept

Friends

template<typename>
class OptionalReference

Member Typedef Documentation

◆ value_type

template<typename T>
using mini_llvm::OptionalReference< T >::value_type = T

Constructor & Destructor Documentation

◆ OptionalReference() [1/5]

template<typename T>
mini_llvm::OptionalReference< T >::OptionalReference ( )
inlineconstexprnoexcept

◆ OptionalReference() [2/5]

template<typename T>
mini_llvm::OptionalReference< T >::OptionalReference ( std::nullopt_t )
inlineconstexprnoexcept

◆ OptionalReference() [3/5]

template<typename T>
template<typename U>
requires std::is_convertible_v<U &, T &>
mini_llvm::OptionalReference< T >::OptionalReference ( U & value)
inlineconstexprnoexcept

◆ OptionalReference() [4/5]

template<typename T>
mini_llvm::OptionalReference< T >::OptionalReference ( const OptionalReference< T > & other)
constexprdefaultnoexcept

◆ OptionalReference() [5/5]

template<typename T>
template<typename U>
requires std::is_convertible_v<U &, T &>
mini_llvm::OptionalReference< T >::OptionalReference ( const OptionalReference< U > & other)
inlineconstexprnoexcept

Member Function Documentation

◆ has_value()

template<typename T>
bool mini_llvm::OptionalReference< T >::has_value ( ) const
inlineconstexprnoexcept

◆ operator bool()

template<typename T>
mini_llvm::OptionalReference< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator*()

template<typename T>
T & mini_llvm::OptionalReference< T >::operator* ( ) const
inlineconstexprnoexcept

◆ operator->()

template<typename T>
T * mini_llvm::OptionalReference< T >::operator-> ( ) const
inlineconstexprnoexcept

◆ operator=()

template<typename T>
OptionalReference & mini_llvm::OptionalReference< T >::operator= ( const OptionalReference< T > & other)
constexprdefaultnoexcept

◆ reset()

template<typename T>
void mini_llvm::OptionalReference< T >::reset ( )
inlineconstexprnoexcept

◆ swap()

template<typename T>
void mini_llvm::OptionalReference< T >::swap ( OptionalReference< T > & other)
inlineconstexprnoexcept

◆ value()

template<typename T>
T & mini_llvm::OptionalReference< T >::value ( ) const
inlineconstexpr

◆ value_or()

template<typename T>
template<typename U = std::remove_cv_t<T>>
requires std::is_convertible_v<U &&, std::remove_cv_t<T>>
std::remove_cv_t< T > mini_llvm::OptionalReference< T >::value_or ( U && defaultValue) const
inlineconstexpr

◆ OptionalReference

template<typename T>
template<typename>
friend class OptionalReference
friend

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