Lumiera  0.pre.03
»edit your freedom«
Can_retrieve_and_compare_ID< TY > Class Template Reference

#include "lib/diff/tree-mutator-diffmutable-binding.hpp"

Description

template<typename TY>
class lib::diff::anonymous_namespace{tree-mutator-diffmutable-binding.hpp}::Can_retrieve_and_compare_ID< TY >

Metaprogramming helper to detect if the given target class allows us to build a default »Matcher« automatically.

(The »Matcher« is used to determine the applicability of a given diff verb to this target object)

Note
we directly probe the desired functionality: can we equality compare a given GenNode::ID (from the diff) with this type's object ID?
See also
duck-detector.hpp for explanation of this technique

Definition at line 85 of file tree-mutator-diffmutable-binding.hpp.

Static Public Attributes

static const bool value = (sizeof(Yes_t)==sizeof(check<TY>(0)))
 

Classes

struct  Probe
 

Static Private Member Functions

template<class X >
static Yes_t check (Probe< X > *)
 
template<class >
static No_t check (...)
 

Class Documentation

◆ lib::diff::anonymous_namespace{tree-mutator-diffmutable-binding.hpp}::Can_retrieve_and_compare_ID::Probe

struct lib::diff::anonymous_namespace{tree-mutator-diffmutable-binding.hpp}::Can_retrieve_and_compare_ID::Probe
+ Collaboration diagram for Can_retrieve_and_compare_ID< TY >::Probe< X, SEL >:
+ Inheritance diagram for Can_retrieve_and_compare_ID< TY >:
+ Collaboration diagram for Can_retrieve_and_compare_ID< TY >:

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