Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
can_wrap_in_GenNode< ELM > Struct Template Reference

#include "lib/diff/gen-node.hpp"

Description

template<typename ELM>
struct lib::diff::can_wrap_in_GenNode< ELM >

metafunction to detect types able to be wrapped into a GenNode.

Only a limited and fixed set of types may be placed within a GenNode, as defined through the typelist lib::diff::DataValues. This metafunction allows to enable or disable specialisations and definitions based on the fact if a type in question can live within a GenNode.

Definition at line 514 of file gen-node.hpp.

Public Types

using Yes = lib::meta::Yes_t
 
using No = lib::meta::No_t
 

Static Public Attributes

static const bool value = (sizeof(Yes)==sizeof(check<ELM>(0)))
 

Static Public Member Functions

template<class X >
static Yes check (variant::CanBuildFrom< X, DataValues >::Type *)
 
template<class X >
static No check (...)
 

Member Typedef Documentation

◆ Yes

template<typename ELM >
using Yes = lib::meta::Yes_t

Definition at line 516 of file gen-node.hpp.

◆ No

template<typename ELM >
using No = lib::meta::No_t

Definition at line 517 of file gen-node.hpp.

Member Function Documentation

◆ check() [1/2]

template<typename ELM >
template<class X >
static Yes check ( variant::CanBuildFrom< X, DataValues >::Type )
static

◆ check() [2/2]

template<typename ELM >
template<class X >
static No check (   ...)
static

Member Data Documentation

◆ value

template<typename ELM >
const bool value = (sizeof(Yes)==sizeof(check<ELM>(0)))
static

Definition at line 525 of file gen-node.hpp.

+ Collaboration diagram for can_wrap_in_GenNode< ELM >:

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