11 #ifndef __HAS_PRINT_HEADER
12 #define __HAS_PRINT_HEADER
16 template<
typename T,
bool is_a_
class>
21 template<
void(T::*)(stream_proto_type &)const>
struct helper {
typedef char type;};
23 template<
typename U>
static char check(
typename helper<&U::template print<stream_proto_type>>::type);
24 template<
typename U>
static double check(...);
26 enum {
value = (
sizeof(char) ==
sizeof(check<T>(0))) };
38 #endif //__HAS_PRINT_HEADER
Definition: has_print.hpp:17
Definition: has_print.hpp:26
static char check(typename helper<&U::template print< stream_proto_type >>::type)
Definition: has_print.hpp:34
stream_proto_type & operator<<(U const &u)
Definition: has_print.hpp:21
Definition: has_print.hpp:33
Definition: has_print.hpp:18
char type
Definition: has_print.hpp:21