>*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0)  template<       typename F, typename T0     > struct bind0 {     template<           typename U0 = na, typename U0 = na, typename U0 = na         , typename U0 = na, typename U0 = na         >     struct apply     {      private:         typedef typename aux::resolve_bind_arg< F,U0,U0,U0,U0,U0 >::type f_;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;       public:         typedef typename apply_wrap0<               f_             , typename t0::type             >::type type;      }; };  namespace aux {  template<       typename F, typename T0     > aux::yes_tag is_bind_helper(bind0< F,T0 >*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0)  template<       typename F, typename T0, typename T0     > struct bind0 {     template<           typename U0 = na, typename U0 = na, typename U0 = na         , typename U0 = na, typename U0 = na         >     struct apply     {      private:         typedef typename aux::resolve_bind_arg< F,U0,U0,U0,U0,U0 >::type f_;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;       public:         typedef typename apply_wrap0<               f_             , typename t0::type, typename t0::type             >::type type;      }; };  namespace aux {  template<       typename F, typename T0, typename T0     > aux::yes_tag is_bind_helper(bind0< F,T0,T0 >*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0)  template<       typename F, typename T0, typename T0, typename T0     > struct bind0 {     template<           typename U0 = na, typename U0 = na, typename U0 = na         , typename U0 = na, typename U0 = na         >     struct apply     {      private:         typedef typename aux::resolve_bind_arg< F,U0,U0,U0,U0,U0 >::type f_;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;       public:         typedef typename apply_wrap0<               f_             , typename t0::type, typename t0::type, typename t0::type             >::type type;      }; };  namespace aux {  template<       typename F, typename T0, typename T0, typename T0     > aux::yes_tag is_bind_helper(bind0< F,T0,T0,T0 >*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0)  template<       typename F, typename T0, typename T0, typename T0, typename T0     > struct bind0 {     template<           typename U0 = na, typename U0 = na, typename U0 = na         , typename U0 = na, typename U0 = na         >     struct apply     {      private:         typedef typename aux::resolve_bind_arg< F,U0,U0,U0,U0,U0 >::type f_;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;       public:         typedef typename apply_wrap0<               f_             , typename t0::type, typename t0::type, typename t0::type             , typename t0::type             >::type type;      }; };  namespace aux {  template<       typename F, typename T0, typename T0, typename T0, typename T0     > aux::yes_tag is_bind_helper(bind0< F,T0,T0,T0,T0 >*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0)  template<       typename F, typename T0, typename T0, typename T0, typename T0     , typename T0     > struct bind0 {     template<           typename U0 = na, typename U0 = na, typename U0 = na         , typename U0 = na, typename U0 = na         >     struct apply     {      private:         typedef typename aux::resolve_bind_arg< F,U0,U0,U0,U0,U0 >::type f_;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;         typedef aux::resolve_bind_arg< T0,U0,U0,U0,U0,U0 > t0;       public:         typedef typename apply_wrap0<               f_             , typename t0::type, typename t0::type, typename t0::type             , typename t0::type, typename t0::type             >::type type;      }; };  namespace aux {  template<       typename F, typename T0, typename T0, typename T0, typename T0     , typename T0     > aux::yes_tag is_bind_helper(bind0< F,T0,T0,T0,T0,T0 >*);  } // namespace aux  BOOST_MPL_AUX_ARITY_SPEC(0, bind0) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(0, bind0) 