24 #ifndef LUABIND_OTHER_HPP_INCLUDED 25 #define LUABIND_OTHER_HPP_INCLUDED 35 #include <luabind/config.hpp> 36 #include <boost/config.hpp> 47 #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 48 namespace luabind {
namespace detail
65 # else // no partial specialization 67 #include <boost/type.hpp> 69 namespace luabind {
namespace detail
71 typedef char (&yes_other_t)[1];
72 typedef char (&no_other_t)[2];
74 no_other_t is_other_test(...);
79 template<
bool wrapped>
80 struct other_unwrapper
90 struct other_unwrapper<true>
95 typedef typename T::type type;
103 BOOST_STATIC_CONSTANT(
105 sizeof(detail::is_other_test(
type_<T>()))
106 ==
sizeof(detail::yes_other_t)));
109 template <
typename T>
111 :
public detail::other_unwrapper<
117 #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 119 #endif // LUABIND_OTHER_HPP_INCLUDED
Definition: PEtypes.h:507
Definition: enum_maker.hpp:46
Definition: primitives.hpp:42