Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
InPlaceAnyHolder< siz, AccessPolicy >::Buffer Struct Referenceabstract

Description

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
struct lib::InPlaceAnyHolder< siz, AccessPolicy >::Buffer

Inner capsule managing the contained object (interface)

Definition at line 206 of file opaque-holder.hpp.

Public Attributes

std::byte content_ [siz]
 

Public Member Functions

void * ptr ()
 
virtual ~Buffer ()
 this is an ABC with VTable
 
virtual bool isValid () const =0
 
virtual bool empty () const =0
 
virtual BaseP getBase () const =0
 
virtual void clone (void *targetStorage) const =0
 

Constructor & Destructor Documentation

◆ ~Buffer()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
virtual ~Buffer ( )
inlinevirtual

this is an ABC with VTable

Definition at line 212 of file opaque-holder.hpp.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::killBuffer().

+ Here is the caller graph for this function:

Member Function Documentation

◆ ptr()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
void * ptr ( )
inline

Definition at line 210 of file opaque-holder.hpp.

References InPlaceAnyHolder< siz, AccessPolicy >::Buffer::content_.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >::Buff(), InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >::Buff(), and InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >::get().

+ Here is the caller graph for this function:

◆ isValid()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
virtual bool isValid ( ) const
pure virtual

Implemented in InPlaceAnyHolder< siz, AccessPolicy >::EmptyBuff, and InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::isValid().

+ Here is the caller graph for this function:

◆ empty()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
virtual bool empty ( ) const
pure virtual

Implemented in InPlaceAnyHolder< siz, AccessPolicy >::EmptyBuff, and InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::empty().

+ Here is the caller graph for this function:

◆ getBase()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
virtual BaseP getBase ( ) const
pure virtual

Implemented in InPlaceAnyHolder< siz, AccessPolicy >::EmptyBuff, and InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::asBase().

+ Here is the caller graph for this function:

◆ clone()

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
virtual void clone ( void *  targetStorage) const
pure virtual

Implemented in InPlaceAnyHolder< siz, AccessPolicy >::EmptyBuff, and InPlaceAnyHolder< siz, AccessPolicy >::Buff< SUB >.

Referenced by InPlaceAnyHolder< siz, AccessPolicy >::clone_inBuff().

+ Here is the caller graph for this function:

Member Data Documentation

◆ content_

template<size_t siz, class AccessPolicy = InPlaceAnyHolder_unrelatedTypes>
std::byte content_[siz]
+ Inheritance diagram for InPlaceAnyHolder< siz, AccessPolicy >::Buffer:
+ Collaboration diagram for InPlaceAnyHolder< siz, AccessPolicy >::Buffer:

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