template <typename Type> \
class MIRAHasMemberCheck##Identifier \
{ \
struct NotFound { char x[1]; }; \
struct Found { char x[2]; }; \
struct BaseMixin { \
void Member(){} \
}; \
\
struct Base : public Type, public BaseMixin {}; \
template <typename T, T t> class Helper{}; \
\
template <typename U> \
static NotFound deduce(U*, Helper<void (BaseMixin::*)(), &U::Member>* = 0);\
static Found deduce(...); \
\
public: \
enum { value = (sizeof(Found) == sizeof(deduce((Base*)(0))))}; \
typedef boost::integral_constant<bool, \
(
sizeof(Found) ==
sizeof(deduce((Base*)(0)))) >
type; \
\
};
PropertyHint type(const std::string &t)
Sets the attribute "type" to the specified value.
Definition: PropertyHint.h:295