20 #ifndef PALUDIS_GUARD_PALUDIS_CHOICE_HH
21 #define PALUDIS_GUARD_PALUDIS_CHOICE_HH 1
24 #include <paludis/permitted_choice_value_parameter_values-fwd.hh>
26 #include <paludis/util/wrapped_forward_iterator.hh>
29 #include <paludis/util/named_value.hh>
30 #include <paludis/util/wrapped_value.hh>
32 #include <paludis/util/wrapped_forward_iterator.hh>
33 #include <paludis/util/wrapped_output_iterator.hh>
52 typedef Name<struct name_consider_added_or_changed> consider_added_or_changed;
53 typedef Name<struct name_contains_every_value> contains_every_value;
54 typedef Name<struct name_hidden> hidden;
55 typedef Name<struct name_human_name> human_name;
56 typedef Name<struct name_prefix> prefix;
57 typedef Name<struct name_raw_name> raw_name;
58 typedef Name<struct name_show_with_no_prefix> show_with_no_prefix;
106 typedef std::string UnderlyingType;
107 typedef void ValidationParamsType;
110 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
118 typedef std::string UnderlyingType;
119 typedef void ValidationParamsType;
122 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
130 typedef std::string UnderlyingType;
131 typedef void ValidationParamsType;
134 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
167 void add(
const std::shared_ptr<const Choice> &);
172 struct ConstIteratorTag;
192 const std::shared_ptr<const ChoiceValue> find_by_name_with_prefix(
249 void add(
const std::shared_ptr<const ChoiceValue> &);
306 struct ConstIteratorTag;
357 virtual bool enabled_by_default()
const PALUDIS_ATTRIBUTE((warn_unused_result)) = 0;
372 virtual const std::string description()
const PALUDIS_ATTRIBUTE((warn_unused_result)) = 0;
389 virtual const std::string parameter()
const PALUDIS_ATTRIBUTE((warn_unused_result)) = 0;
396 virtual const std::shared_ptr<const PermittedChoiceValueParameterValues> permitted_parameter_values()
const