copy_traits.hpp File Reference

Go to the source code of this file.

Classes

struct  copy_trait< TraitCheckMF, TraitAddMf, OrigT, DestT >
 Metafunction that given a metafunction TraitCheckMf to check whether a type has a trait, and another TraitAddMf to add it to a type, returns TraitAddMf<DestT> if TraitCheckMf<OrigT>, else OrigT. More...
 
struct  copy_cv< OrigT, DestT >
 
struct  copy_reference< OrigT, DestT >
 
struct  copy_decay< OrigT, DestT >
 Adds reference and cv-qualifications from OrigT to DestT. More...
 

Namespaces

 atria
 C++ amazing templates and reusable implementations awesomeness.
 
 atria::meta
 Metaprogramming tools, including some Booost.MPL adaptors and concept checking facilities.
 

Macros

#define ABL_DEFINE_COPY_STD_TRAIT(name__)
 

Functions

 ABL_DEFINE_COPY_STD_TRAIT (lvalue_reference)
 
 ABL_DEFINE_COPY_STD_TRAIT (rvalue_reference)
 
 ABL_DEFINE_COPY_STD_TRAIT (volatile)
 
 ABL_METAFUNCTION_T (copy_cv)
 
 ABL_METAFUNCTION_T (copy_reference)
 
 ABL_METAFUNCTION_T (copy_decay)
 

Macro Definition Documentation

#define ABL_DEFINE_COPY_STD_TRAIT (   name__)
Value:
template <typename OrigT, typename DestT> \
struct copy_ ## name__ \
: copy_trait<::std::is_ ## name__, \
::std::add_ ## name__, \
OrigT, \
DestT> \
{}; \
ABL_METAFUNCTION_T(copy_ ## name__); \
#define ABL_METAFUNCTION_T(name__)
Macro to define an evaluated version of a metafunction with _t suffix, in the style of the C++14 stan...
Definition: eval.hpp:42

Definition at line 52 of file copy_traits.hpp.

Fork me on GitHub