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_hide_description> hide_description;
56 typedef Name<struct name_human_name> human_name;
57 typedef Name<struct name_prefix> prefix;
58 typedef Name<struct name_raw_name> raw_name;
59 typedef Name<struct name_show_with_no_prefix> show_with_no_prefix;
73 ChoicePrefixNameError(
const std::string &)
noexcept;
87 ChoiceNameWithPrefixError(
const std::string &)
noexcept;
101 UnprefixedChoiceNameError(
const std::string &)
noexcept;
107 typedef std::string UnderlyingType;
108 typedef void ValidationParamsType;
111 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
119 typedef std::string UnderlyingType;
120 typedef void ValidationParamsType;
123 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
131 typedef std::string UnderlyingType;
132 typedef void ValidationParamsType;
135 static bool validate(
const std::string &)
PALUDIS_ATTRIBUTE((warn_unused_result));
168 void add(
const std::shared_ptr<const Choice> &);
173 struct ConstIteratorTag;
251 void add(
const std::shared_ptr<const ChoiceValue> &);
314 struct ConstIteratorTag;
virtual const ChoiceNameWithPrefix name_with_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool enabled_by_default() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::string description() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::shared_ptr< const PermittedChoiceValueParameterValues > permitted_parameter_values() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool presumed() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool locked() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool enabled() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const UnprefixedChoiceName unprefixed_name() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual ChoiceOrigin origin() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::string parameter() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
const ChoicePrefixName prefix() const PALUDIS_ATTRIBUTE((warn_unused_result))
bool consider_added_or_changed() const PALUDIS_ATTRIBUTE((warn_unused_result))
bool contains_every_value() const PALUDIS_ATTRIBUTE((warn_unused_result))
Choice(const ChoiceParams &)
const std::string human_name() const PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string raw_name() const PALUDIS_ATTRIBUTE((warn_unused_result))
bool hide_description() const PALUDIS_ATTRIBUTE((warn_unused_result))
bool show_with_no_prefix() const PALUDIS_ATTRIBUTE((warn_unused_result))
void add(const std::shared_ptr< const ChoiceValue > &)
bool hidden() const PALUDIS_ATTRIBUTE((warn_unused_result))
bool has_matching_contains_every_value_prefix(const ChoiceNameWithPrefix &) const PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< const ChoiceValue > find_by_name_with_prefix(const ChoiceNameWithPrefix &) const PALUDIS_ATTRIBUTE((warn_unused_result))
ConstIterator find(const ChoicePrefixName &) const PALUDIS_ATTRIBUTE((warn_unused_result))
void add(const std::shared_ptr< const Choice > &)
NameError(const std::string &name, const std::string &role) noexcept
Definition named_value.hh:51
Definition permitted_choice_value_parameter_values.hh:37
Definition wrapped_forward_iterator.hh:42
Definition wrapped_output_iterator.hh:38
Definition wrapped_value.hh:45
WrappedValue< ChoiceNameWithPrefixTag > ChoiceNameWithPrefix
Definition choice-fwd.hh:65
WrappedValue< UnprefixedChoiceNameTag > UnprefixedChoiceName
Definition choice-fwd.hh:73
WrappedValue< ChoicePrefixNameTag > ChoicePrefixName
Definition choice-fwd.hh:57
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24
Definition wrapped_value-fwd.hh:32