27 #ifndef SHORE_PROCESSING_METHODCHECK_HPP__
28 #define SHORE_PROCESSING_METHODCHECK_HPP__
32 class member_check_defs
46 template<
typename U, U t>
47 class instantiate_test
68 :
public T,
public interference
72 static can_mix deduce(U *,instantiate_test<
void (interference::*)(),&U::next> * =0);
74 static cannot_mix deduce(...);
78 static const bool value =
sizeof(cannot_mix) ==
sizeof(deduce((mixed*)(0)));
82 const bool has_next<T>::value;
99 :
public T,
public interference
103 static can_mix deduce(U *,instantiate_test<
void (interference::*)(),&U::prepare> * =0);
105 static cannot_mix deduce(...);
109 static const bool value =
sizeof(cannot_mix) ==
sizeof(deduce((mixed*)(0)));
113 const bool has_prepare<T>::value;
130 :
public T,
public interference
134 static can_mix deduce(U *,instantiate_test<
void (interference::*)(),&U::flush> * =0);
136 static cannot_mix deduce(...);
140 static const bool value =
sizeof(cannot_mix) ==
sizeof(deduce((mixed*)(0)));
144 const bool has_flush<T>::value;
161 :
public T,
public interference
165 static can_mix deduce(U *,instantiate_test<
void (interference::*)(),&U::get_name> * =0);
167 static cannot_mix deduce(...);
171 static const bool value =
sizeof(cannot_mix) ==
sizeof(deduce((mixed*)(0)));
175 const bool has_get_name<T>::value;
192 :
public T,
public interference
196 static can_mix deduce(U *,instantiate_test<
void (interference::*)(),&U::dump> * =0);
198 static cannot_mix deduce(...);
202 static const bool value =
sizeof(cannot_mix) ==
sizeof(deduce((mixed*)(0)));
206 const bool has_dump<T>::value;
210 #endif // SHORE_PROCESSING_METHODCHECK_HPP__