Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
Trait< TY, YES > Struct Template Reference

#include "lib/polymorphic-value.hpp"

Description

template<class TY, class YES = void>
struct lib::polyvalue::Trait< TY, YES >

trait template to deal with different ways to support copy operations.

Default is no support by the API and implementation types. In this case, the CopySupport interface is mixed-in at the level of the concrete implementation class and will be accessed later on through a dynamic_cast<CopyAPI&>

Todo:
this whole decision logic works but is confusingly written ///////////////////////TICKET #1197 : improve design of copy support

Definition at line 294 of file polymorphic-value.hpp.

Public Types

enum  { ADMIN_OVERHEAD = 2 * sizeof(void*) }
 
using CopyAPI = CopySupport< TY, EmptyBase >
 
using Assignment = AssignmentPolicy< CopyAPI >
 
using AdapterAttachment = CopyAPI
 

Static Public Member Functions

static CopyAPIaccessCopyHandlingInterface (TY &bufferContents)
 

Member Typedef Documentation

◆ CopyAPI

template<class TY , class YES = void>
using CopyAPI = CopySupport<TY,EmptyBase>

Definition at line 296 of file polymorphic-value.hpp.

◆ Assignment

template<class TY , class YES = void>
using Assignment = AssignmentPolicy<CopyAPI>

Definition at line 297 of file polymorphic-value.hpp.

◆ AdapterAttachment

template<class TY , class YES = void>
using AdapterAttachment = CopyAPI

Definition at line 298 of file polymorphic-value.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class TY , class YES = void>
anonymous enum
Enumerator
ADMIN_OVERHEAD 

Definition at line 299 of file polymorphic-value.hpp.

Member Function Documentation

◆ accessCopyHandlingInterface()

template<class TY , class YES = void>
static CopyAPI & accessCopyHandlingInterface ( TY &  bufferContents)
inlinestatic

Definition at line 302 of file polymorphic-value.hpp.

References INSTANCEOF.

Referenced by PolymorphicValue< IFA, storage, CPY >::accessHandlingInterface().

+ Here is the caller graph for this function:
+ Collaboration diagram for Trait< TY, YES >:

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