ecto
Public Types | Static Public Member Functions | List of all members
ecto::has_f< T > Struct Template Reference

Helper class for determining if client modules have function implementations or not. More...

#include <cell.hpp>

Public Types

enum  { declare_params = sizeof(test_declare_params<T> (0)) == sizeof(yes) }
 
enum  { declare_io = sizeof(test_declare_io<T> (0)) == sizeof(yes) }
 
enum  { configure = sizeof(test_configure<T> (0)) == sizeof(yes) }
 
enum  { activate = sizeof(test_activate<T> (0)) == sizeof(yes) }
 
enum  { deactivate = sizeof(test_deactivate<T> (0)) == sizeof(yes) }
 
enum  { process = sizeof(test_process<T> (0)) == sizeof(yes) }
 
enum  { start = sizeof(test_start<T> (0)) == sizeof(yes) }
 
enum  { stop = sizeof(test_stop<T> (0)) == sizeof(yes) }
 
typedef char yes
 
typedef char(& no)[2]
 

Static Public Member Functions

template<class U >
static yes test_declare_params (__typeof__(&U::declare_params))
 
template<class U >
static no test_declare_params (...)
 
template<class U >
static yes test_declare_io (__typeof__(&U::declare_io))
 
template<class U >
static no test_declare_io (...)
 
template<class U >
static yes test_configure (__typeof__(&U::configure))
 
template<class U >
static no test_configure (...)
 
template<class U >
static yes test_activate (__typeof__(&U::activate))
 
template<class U >
static no test_activate (...)
 
template<class U >
static yes test_deactivate (__typeof__(&U::deactivate))
 
template<class U >
static no test_deactivate (...)
 
template<class U >
static yes test_process (__typeof__(&U::process))
 
template<class U >
static no test_process (...)
 
template<class U >
static yes test_start (__typeof__(&U::start))
 
template<class U >
static no test_start (...)
 
template<class U >
static yes test_stop (__typeof__(&U::stop))
 
template<class U >
static no test_stop (...)
 

Detailed Description

template<class T>
struct ecto::has_f< T >

Helper class for determining if client modules have function implementations or not.

Member Typedef Documentation

template<class T >
typedef char(& ecto::has_f< T >::no)[2]
template<class T >
typedef char ecto::has_f< T >::yes

Member Enumeration Documentation

template<class T >
anonymous enum
Enumerator
declare_params 
template<class T >
anonymous enum
Enumerator
declare_io 
template<class T >
anonymous enum
Enumerator
configure 
template<class T >
anonymous enum
Enumerator
activate 
template<class T >
anonymous enum
Enumerator
deactivate 
template<class T >
anonymous enum
Enumerator
process 
template<class T >
anonymous enum
Enumerator
start 
template<class T >
anonymous enum
Enumerator
stop 

Member Function Documentation

template<class T >
template<class U >
static yes ecto::has_f< T >::test_activate ( __typeof__ &::activate  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_activate (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_configure ( __typeof__ &::configure  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_configure (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_deactivate ( __typeof__ &::deactivate  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_deactivate (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_declare_io ( __typeof__ &::declare_io  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_declare_io (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_declare_params ( __typeof__ &::declare_params  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_declare_params (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_process ( __typeof__ &::process  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_process (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_start ( __typeof__ &::start  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_start (   ...)
static
template<class T >
template<class U >
static yes ecto::has_f< T >::test_stop ( __typeof__ &::stop  )
static
template<class T >
template<class U >
static no ecto::has_f< T >::test_stop (   ...)
static

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