Iros
 
Loading...
Searching...
No Matches
di::any::detail Namespace Reference

Classes

struct  DispatcherImpl
 
struct  DispatcherImpl< Tag, R(Self, Args...), Tags... >
 
struct  ErasedCallImpl
 
struct  ErasedCallImpl< Method< Tag, R(Self, BArgs...)>, Storage, T >
 
struct  HybridStorageManage
 
struct  InlineStorageManage
 
struct  MethodImplT
 
struct  MethodImplT< E, S, meta::List< Method< Tag, R(Self, BArgs...)>, Rest... > >
 
struct  ObjectWithRefCount
 
struct  RefCount
 
struct  SharedStorageManage
 
struct  UniqueStorageManage
 

Typedefs

template<typename E, typename S, typename Interface>
using MethodImpl = meta::Type<MethodImplT<E, S, Interface>>
 

Enumerations

enum class  OpForConsteval { Destroy , RefInc , RefDec }
 

Variables

template<typename HybridStorage, concepts::Allocator Alloc>
constexpr auto hybrid_storage_manage = HybridStorageManage<HybridStorage, Alloc> {}
 
template<typename InlineStorage>
constexpr auto inline_storage_manage = InlineStorageManage<InlineStorage> {}
 
template<typename SharedStorage, concepts::Allocator Alloc>
constexpr auto shared_storage_manage = SharedStorageManage<SharedStorage, Alloc> {}
 
template<typename UniqueStorage, concepts::Allocator Alloc>
constexpr auto unique_storage_manage = UniqueStorageManage<UniqueStorage, Alloc> {}
 

Typedef Documentation

◆ MethodImpl

template<typename E, typename S, typename Interface>
using di::any::detail::MethodImpl = meta::Type<MethodImplT<E, S, Interface>>

Enumeration Type Documentation

◆ OpForConsteval

Enumerator
Destroy 
RefInc 
RefDec 

Variable Documentation

◆ hybrid_storage_manage

template<typename HybridStorage, concepts::Allocator Alloc>
auto di::any::detail::hybrid_storage_manage = HybridStorageManage<HybridStorage, Alloc> {}
inlineconstexpr

◆ inline_storage_manage

template<typename InlineStorage>
auto di::any::detail::inline_storage_manage = InlineStorageManage<InlineStorage> {}
inlineconstexpr

◆ shared_storage_manage

template<typename SharedStorage, concepts::Allocator Alloc>
auto di::any::detail::shared_storage_manage = SharedStorageManage<SharedStorage, Alloc> {}
inlineconstexpr

◆ unique_storage_manage

template<typename UniqueStorage, concepts::Allocator Alloc>
auto di::any::detail::unique_storage_manage = UniqueStorageManage<UniqueStorage, Alloc> {}
inlineconstexpr