libqi-api  2.0.6.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Static Public Member Functions | Static Public Attributes
qi::IsClonable< T > Struct Template Reference

Detect if a type is using boost::noncopyable or QI_DISALLOW_COPY_AND_ASSIGN. More...

#include <traits.hpp>

List of all members.

Public Types

typedef char yes [1]
typedef char no [2]

Static Public Member Functions

template<typename C >
static notest (typename C::_qi_not_clonable *)
template<typename >
static yestest (...)

Static Public Attributes

static const bool value

Detailed Description

template<typename T>
struct qi::IsClonable< T >

Detect if a type is using boost::noncopyable or QI_DISALLOW_COPY_AND_ASSIGN.

Definition at line 21 of file traits.hpp.


Member Typedef Documentation

template<typename T >
typedef char qi::IsClonable< T >::no[2]

Definition at line 24 of file traits.hpp.

template<typename T >
typedef char qi::IsClonable< T >::yes[1]

Definition at line 23 of file traits.hpp.


Member Function Documentation

template<typename T >
template<typename C >
static no& qi::IsClonable< T >::test ( typename C::_qi_not_clonable *  ) [static]
template<typename T >
template<typename >
static yes& qi::IsClonable< T >::test (   ...) [static]

Member Data Documentation

template<typename T >
const bool qi::IsClonable< T >::value [static]
Initial value:
 sizeof(test<T>(0)) == sizeof(yes)
    && ! boost::is_base_of<boost::noncopyable, T>::value

Definition at line 31 of file traits.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines