cppexpose  1.0.0.b785e04f23b8
C++ library for type introspection, reflection, and scripting interface
Classes | Typedefs | Variables
cppexpose::helper Namespace Reference

Template helpers that deal with type traits and conditional template specialization. More...

Classes

struct  all< false, MoreConditions... >
 
struct  all< true >
 
struct  all< true, MoreConditions... >
 
struct  And
 
struct  ArgValue
 Template for parsing typed arguments from a list of variants. More...
 
struct  ArgValue< bool, POS >
 
struct  ArgValue< const cppexpose::Object *, POS >
 
struct  ArgValue< const std::vector< T > &, POS >
 
struct  ArgValue< const std::vector< Variant > &, POS >
 
struct  ArgValue< const T &, POS >
 
struct  ArgValue< const Variant &, POS >
 
struct  ArgValue< cppexpose::Object *, POS >
 
struct  ArgValue< double, POS >
 
struct  ArgValue< float, POS >
 
struct  ArgValue< std::string, POS >
 
struct  ArgValue< Variant, POS >
 
struct  ArgValueGen
 Generate ArgValue class for types and index (e.g., ArgValueGen<2, float, int, double>::Type = ArgValue<int, 2> More...
 
class  CallConstMethod
 Template for calling a const member function with a return value. More...
 
class  CallConstMethod< T, void, Arguments... >
 Template for calling a const member function without a return value. More...
 
class  CallFunction
 Template for calling a static function with a return value. More...
 
class  CallFunction< void, Arguments... >
 Template for calling a static function without a return value. More...
 
class  CallMethod
 Template for calling a member function with a return value. More...
 
class  CallMethod< T, void, Arguments... >
 Template for calling a member function without a return value. More...
 
struct  GenSeq
 Sequence generator (e.g., GenSec<3>::Type = Seq<0, 1, 2>) More...
 
struct  GenSeq< 0, I... >
 
struct  is_array
 
struct  is_array< std::array< Type, Size > >
 
struct  is_special_array
 
struct  is_special_array< Type, std::array< Type, Size > >
 
struct  isArray
 
struct  isBoolArray
 
struct  isDoubleArray
 
struct  isFloatingPoint
 
struct  isIntArray
 
struct  isIntegral
 
struct  isPlain
 
struct  isSignedIntegral
 
struct  isUnsignedIntegral
 
struct  Neg
 
struct  neg
 
struct  neg< true >
 
struct  PickType
 Pick type by index (e.g., PickType<1, void, int, float>::Type = int) More...
 
struct  PickType< 0, T, Arguments... >
 
struct  Seq
 Generate a sequence of numbers (e.g., Seq<0, 1, 2>) More...
 
struct  value_accessor
 

Typedefs

template<typename Condition , typename Type = void>
using EnableIf = typename value_accessor< Condition, Type >::type
 Used to choose specific property implementation for different types at compile time via SFINAE. More...
 

Variables

template<bool Condition, bool... MoreConditions>
struct CPPEXPOSE_TEMPLATE_API all
 

Detailed Description

Template helpers that deal with type traits and conditional template specialization.

Typedef Documentation

template<typename Condition , typename Type = void>
using cppexpose::helper::EnableIf = typedef typename value_accessor<Condition, Type>::type

Used to choose specific property implementation for different types at compile time via SFINAE.

See also
http://en.wikipedia.org/wiki/Substitution_failure_is_not_an_error

Variable Documentation

template<bool Condition, bool... MoreConditions>
struct CPPEXPOSE_TEMPLATE_API cppexpose::helper::all