Lumiera  0.pre.03
»edit your freedom«
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 303 of file polymorphic-value.hpp.

Public Types

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

Static Public Member Functions

static CopyAPIaccessCopyHandlingInterface (TY &bufferContents)
 
+ Collaboration diagram for Trait< TY, YES >:

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