X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FSocketPolicy.ih;h=c6bd54a0fb381c4d9fafaa987f28f027498e269e;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=b3352803e34788b596f86ff284e94a198c986e8f;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Socket/SocketPolicy.ih b/senf/Socket/SocketPolicy.ih index b335280..c6bd54a 100644 --- a/senf/Socket/SocketPolicy.ih +++ b/senf/Socket/SocketPolicy.ih @@ -50,8 +50,8 @@ #include #include // for enable_if -#include "../Utils/mpl.hh" -#include "../Utils/pool_alloc_mixin.hh" +#include +#include ///////////////////////////////ih.p//////////////////////////////////////// @@ -91,7 +91,7 @@ namespace senf { template < BOOST_PP_SEQ_FOR_EACH_I( SP_TemplateArgs, , SENF_SOCKET_POLICIES ) > struct SocketPolicy : public SocketPolicyBase, - public senf::pool_alloc_mixin< + public senf::pool_alloc_mixin< SocketPolicy< BOOST_PP_SEQ_FOR_EACH_I( SP_TemplateParms, , SENF_SOCKET_POLICIES ) > > { # define SP_DeclarePolicyMember(x1,x2,SomePolicy) \ @@ -197,30 +197,30 @@ namespace impl { } // namespace impl - template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( SENF_SOCKET_POLICIES_N, - class T, + template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( SENF_SOCKET_POLICIES_N, + class T, mpl::nil ) > class MakeSocketPolicy : public boost::mpl::if_< boost::is_convertible< T0*, SocketPolicyBase* >, - impl::MakeSocketPolicy_impl< - T0, - boost::mpl::vector< - BOOST_PP_ENUM_SHIFTED_PARAMS( + impl::MakeSocketPolicy_impl< + T0, + boost::mpl::vector< + BOOST_PP_ENUM_SHIFTED_PARAMS( SENF_SOCKET_POLICIES_N, T ) > >, - impl::MakeSocketPolicy_impl< + impl::MakeSocketPolicy_impl< SocketPolicy<>, - boost::mpl::vector< - BOOST_PP_ENUM_PARAMS( + boost::mpl::vector< + BOOST_PP_ENUM_PARAMS( SENF_SOCKET_POLICIES_N, T ) > > >::type {}; template struct SocketPolicyIsBaseOf - : public boost::mpl::if_< + : public boost::mpl::if_< boost::mpl::and_< boost::is_convertible< BasePolicy*, SocketPolicyBase* >, boost::is_convertible< DerivedPolicy*, SocketPolicyBase* > >, impl::SocketPolicy_compatibility, - boost::false_type + boost::false_type >::type {};