MCPcopy Create free account
hub / github.com/alibaba/CicadaPlayer / visit

Method visit

external/boost/boost/parameter/python.hpp:695–728  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

693{
694 template <class Class, class Options>
695 void visit(Class& cl, char const* name, Options const& options) const
696 {
697 typedef mpl::iterator_range<
698 typename mpl::next<
699 typename mpl::begin<ParameterSpecs>::type
700 >::type
701 , typename mpl::end<ParameterSpecs>::type
702 > arg_types;
703
704 typedef typename mpl::front<ParameterSpecs>::type result_type;
705
706 typedef typename mpl::transform<
707 arg_types
708 , aux::make_kw_spec<mpl::_>
709 , mpl::back_inserter<mpl::vector0<> >
710 >::type arg_specs;
711
712 typedef typename mpl::count_if<
713 arg_specs
714 , aux::is_optional<mpl::_>
715 >::type optional_arity;
716
717 typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
718
719 aux::def_combinations(
720 aux::def_class<Class, Options>(cl, name, options)
721 , (arg_specs*)0
722 , mpl::long_<0>()
723 , mpl::long_<upper::value>()
724 , (aux::make_member_invoker<
725 Fwd, result_type, typename Class::wrapped_type
726 >*)0
727 );
728 }
729};
730
731}}} // namespace boost::parameter::python

Callers

nothing calls this directly

Calls 1

def_combinationsFunction · 0.85

Tested by

no test coverage detected