...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::nfp::named_parameter_combine
// In header: <boost/test/utils/named_params.hpp> template<typename NP, typename Rest = nil> struct named_parameter_combine : public boost::nfp::nil { // types typedef NP::ref_type res_type; typedef named_parameter_combine< NP, Rest > self_type; // public member functions named_parameter_combine(NP const &, Rest const &); res_type operator[](keyword< typename NP::id, true >) const; res_type operator[](keyword< typename NP::id, false >) const; bool has(keyword< typename NP::id, false >) const; void erase(keyword< typename NP::id, false >) const; template<typename Visitor> void apply_to(Visitor &) const; template<typename T> operator T const &() const; template<typename T> T any_cast() const; template<typename Arg1> nil operator()(Arg1 const &); template<typename Arg1, typename Arg2> nil operator()(Arg1 const &, Arg2 const &); template<typename Arg1, typename Arg2, typename Arg3> nil operator()(Arg1 const &, Arg2 const &, Arg3 const &); template<typename NP> named_parameter_combine< NP, Derived > operator,(NP const &) const; // public static functions static nil & inst(); };
named_parameter_combine
public member functionsnamed_parameter_combine(NP const & np, Rest const & r);
res_type operator[](keyword< typename NP::id, true > kw) const;
res_type operator[](keyword< typename NP::id, false > kw) const;
bool has(keyword< typename NP::id, false > kw) const;
void erase(keyword< typename NP::id, false > kw) const;
template<typename Visitor> void apply_to(Visitor & V) const;
template<typename T> operator T const &() const;
template<typename T> T any_cast() const;
template<typename Arg1> nil operator()(Arg1 const &);
template<typename Arg1, typename Arg2> nil operator()(Arg1 const &, Arg2 const &);
template<typename Arg1, typename Arg2, typename Arg3> nil operator()(Arg1 const &, Arg2 const &, Arg3 const &);
template<typename NP> named_parameter_combine< NP, Derived > operator,(NP const & np) const;