LeviLamina
Loading...
Searching...
No Matches
ll::data::AnyObjBase Class Referenceabstract
+ Inheritance diagram for ll::data::AnyObjBase:

Public Member Functions

 AnyObjBase (AnyObjBase const &)=delete
 
AnyObjBaseoperator= (AnyObjBase const &)=delete
 
virtual AnyObjBasecopy (void *to) const =0
 
virtual AnyObjBasemove (void *to) noexcept=0
 
virtual void tidy () noexcept=0
 

Static Protected Member Functions

template<class Obj , class... Args>
static constexpr Obj * constructImpl (void *to, Args &&... args) noexcept(std::is_nothrow_constructible_v< Obj, Args... >)
 
template<class Obj >
static constexpr void destroyImpl (Obj *self) noexcept
 

Static Protected Attributes

template<class Obj >
static constexpr bool isLarge
 

Member Data Documentation

◆ isLarge

template<class Obj >
bool ll::data::AnyObjBase::isLarge
staticconstexprprotected
Initial value:
= sizeof(Obj) > Obj::smallObjSize || alignof(Obj) > alignof(std::max_align_t)
|| !Obj::nothrowMove

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