Iros
 
Loading...
Searching...
No Matches
di::any::RefStorage Class Reference

#include <di/any/storage/ref_storage.h>

Public Types

using Interface = meta::List<>
 
template<typename>
using CreationResult = void
 

Public Member Functions

constexpr RefStorage ()
 
 RefStorage (RefStorage const &)=default
 
auto operator= (RefStorage const &) -> RefStorage &=default
 
 ~RefStorage ()=default
 
template<typename T>
constexpr auto down_cast () const -> T *
 

Static Public Member Functions

static constexpr auto storage_category () -> StorageCategory
 
template<typename T>
static constexpr auto creation_is_fallible (InPlaceType< T >) -> bool
 
template<concepts::Object T, concepts::ConvertibleTo< T & > U>
requires (!concepts::Const<T>)
static constexpr void init (RefStorage *self, InPlaceType< T & >, U &&u)
 
template<concepts::Object T, concepts::ConvertibleTo< T const & > U>
static constexpr void init (RefStorage *self, InPlaceType< T const & >, T const &u)
 
template<concepts::LanguageFunction T, concepts::ConvertibleTo< T * > U>
static constexpr void init (RefStorage *self, InPlaceType< T * >, T *u)
 

Member Typedef Documentation

◆ CreationResult

template<typename>
using di::any::RefStorage::CreationResult = void

◆ Interface

Constructor & Destructor Documentation

◆ RefStorage() [1/2]

di::any::RefStorage::RefStorage ( )
inlineconstexpr

◆ RefStorage() [2/2]

di::any::RefStorage::RefStorage ( RefStorage const & )
default

◆ ~RefStorage()

di::any::RefStorage::~RefStorage ( )
default

Member Function Documentation

◆ creation_is_fallible()

template<typename T>
static constexpr auto di::any::RefStorage::creation_is_fallible ( InPlaceType< T > ) -> bool
inlinestaticconstexpr

◆ down_cast()

template<typename T>
auto di::any::RefStorage::down_cast ( ) const -> T*
inlineconstexpr

◆ init() [1/3]

template<concepts::Object T, concepts::ConvertibleTo< T & > U>
requires (!concepts::Const<T>)
static constexpr void di::any::RefStorage::init ( RefStorage * self,
InPlaceType< T & > ,
U && u )
inlinestaticconstexpr

◆ init() [2/3]

template<concepts::LanguageFunction T, concepts::ConvertibleTo< T * > U>
static constexpr void di::any::RefStorage::init ( RefStorage * self,
InPlaceType< T * > ,
T * u )
inlinestaticconstexpr

◆ init() [3/3]

template<concepts::Object T, concepts::ConvertibleTo< T const & > U>
static constexpr void di::any::RefStorage::init ( RefStorage * self,
InPlaceType< T const & > ,
T const & u )
inlinestaticconstexpr

◆ operator=()

auto di::any::RefStorage::operator= ( RefStorage const & ) -> RefStorage &=default
default

◆ storage_category()

static constexpr auto di::any::RefStorage::storage_category ( ) -> StorageCategory
inlinestaticconstexpr

Member Data Documentation

◆ m_const_pointer

void const* di::any::RefStorage::m_const_pointer

◆ m_function_pointer

void(* di::any::RefStorage::m_function_pointer) ()

◆ m_pointer

void* di::any::RefStorage::m_pointer

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