I do not understand the following template declaration in the boost :: python library (line 47 from ... / boost _1_51 / boost / python / detail / msvc_typeinfo.hpp, to be precise):
template< typename T > T&(* is_ref_tester1(type<T>) )(type<T>) { return 0; }
where type
is template <class T> struct type {};
Seems functionally equivalent to:
template<typename T> struct func_type_getter { typedef T&(*func_type)(type<T>); }; template< typename T > typename func_type_getter<T>::func_type is_ref_tester1(type<T>) { return 0; }
Are these equivalents, is it just a shortened version, or can someone explain the differences?
source share