#include <di/any/storage/shared_storage.h>
|
static constexpr auto | storage_category () -> StorageCategory |
|
template<typename T> |
static constexpr auto | creation_is_fallible (InPlaceType< T >) -> bool |
|
template<typename Any, typename T, typename... Args>
requires (concepts::ConstructibleFrom<T, Args...> && creation_is_fallible(in_place_type<T>)) |
static constexpr void | create (InPlaceType< Any >, meta::LikeExpected< CreationResult< T >, Any > &self, InPlaceType< T >, Args &&... args) |
|
template<typename T, typename... Args>
requires (concepts::ConstructibleFrom<T, Args...> && alignof(T) <= alignof(usize)) |
static constexpr auto | init (SharedStorage *self, InPlaceType< T >, Args &&... args) |
|
static constexpr void | copy_construct (concepts::VTableFor< Interface > auto const &vtable, SharedStorage *dest, SharedStorage const *source) |
|
static constexpr void | move_construct (concepts::VTableFor< Interface > auto &vtable, SharedStorage *dest, SharedStorage *source) |
|
template<concepts::VTableFor< Interface > VTable> |
static constexpr void | copy_assign (VTable &dest_vtable, SharedStorage *dest, VTable const &source_vtable, SharedStorage const *source) |
|
template<concepts::VTableFor< Interface > VTable> |
static constexpr void | move_assign (VTable &dest_vtable, SharedStorage *dest, VTable &source_vtable, SharedStorage *source) |
|
static constexpr void | destroy (concepts::VTableFor< Interface > auto &vtable, SharedStorage *self) |
|
◆ CreationResult
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename>
◆ Interface
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ Manage
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ SharedStorage() [1/2]
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ SharedStorage() [2/2]
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ ~SharedStorage()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ copy_assign()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<concepts::VTableFor<
Interface > VTable>
◆ copy_construct()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ create()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ creation_is_fallible()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename T>
◆ destroy()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ down_cast() [1/2]
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename T>
◆ down_cast() [2/2]
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename T>
◆ init()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename T, typename... Args>
requires (concepts::ConstructibleFrom<T, Args...> && alignof(T) <= alignof(
usize))
◆ move_assign()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<concepts::VTableFor<
Interface > VTable>
◆ move_construct()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ operator=()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ storage_category()
template<concepts::Allocator Alloc = platform::DefaultAllocator>
◆ detail::SharedStorageManage
template<concepts::Allocator Alloc = platform::DefaultAllocator>
template<typename, concepts::Allocator>
The documentation for this struct was generated from the following file: