Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Header <boost/test/utils/named_params.hpp>

namespace boost {
  namespace nfp {
    template<typename unique_id, bool required> struct keyword;
    template<typename T, typename unique_id, bool required = false> 
      struct typed_keyword;
    template<typename T, typename unique_id, typename RefType = T&> 
      struct named_parameter;
    template<typename NP1, typename NP2> struct named_parameter_combine;
    template<typename T> struct is_named_param_pack;

    template<typename T, typename unique_id, typename RefType> 
      struct is_named_param_pack<named_parameter< T, unique_id, RefType >>;
    template<typename NP, typename Rest> 
      struct is_named_param_pack<named_parameter_combine< NP, Rest >>;

    template<typename NP, typename Keyword, typename DefaultType = void> 
      struct param_type;

    template<typename NP, typename Rest, typename Keyword, 
             typename DefaultType> 
      struct param_type<named_parameter_combine< NP, Rest >, Keyword, DefaultType>;

    template<typename NP, typename Keyword> struct has_param;

    template<typename NP, typename Rest, typename Keyword> 
      struct has_param<named_parameter_combine< NP, Rest >, Keyword>;

    struct nil;

    template<typename unique_id, bool required> 
      struct typed_keyword<bool, unique_id, required>;

    typedef named_parameter< char, struct no_params_type_t, char > no_params_type;
    template<typename T, typename Params, typename Keyword> 
      enable_if_c<!has_param< Params, Keyword >::value, void >::type 
      opt_assign(T &, Params const &, Keyword);
    template<typename T, typename Params, typename Keyword> 
      enable_if_c< has_param< Params, Keyword >::value, void >::type 
      opt_assign(T & target, Params const & p, Keyword k);
    template<typename T, typename Params, typename Keyword> 
      T opt_get(Params const & p, Keyword k, T default_val);
    template<typename Params, typename NP> 
      enable_if_c<!has_param< Params, keyword< typename NP::id > >::value, named_parameter_combine< NP, Params > >::type 
      opt_append(Params const & params, NP const & np);
    template<typename Params, typename NP> 
      enable_if_c< has_param< Params, keyword< typename NP::id > >::value, Params >::type 
      opt_append(Params const & params, NP const &);
  }
}

PrevUpHomeNext