X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FSocketPolicy.ih;h=c6bd54a0fb381c4d9fafaa987f28f027498e269e;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=eee6f0d6dc856a917f2d34926aae94e0f81a0d59;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Socket/SocketPolicy.ih b/senf/Socket/SocketPolicy.ih index eee6f0d..c6bd54a 100644 --- a/senf/Socket/SocketPolicy.ih +++ b/senf/Socket/SocketPolicy.ih @@ -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 {};