20#ifndef PALUDIS_GUARD_PALUDIS_USER_DEP_SPEC_HH
21#define PALUDIS_GUARD_PALUDIS_USER_DEP_SPEC_HH 1
23#include <paludis/user_dep_spec-fwd.hh>
25#include <paludis/slot_requirement.hh>
27#include <paludis/additional_package_dep_spec_requirement.hh>
60 const std::pair<SlotName, SlotName> _s;
63 UserSlotExactFullRequirement(
const std::pair<SlotName, SlotName> &);
80 UserSlotExactPartialRequirement(
const SlotName &);
96 public AdditionalPackageDepSpecRequirement
105 UserKeyRequirement(
const std::string &);
106 ~UserKeyRequirement()
override;
112 const std::shared_ptr<const PackageID> &,
113 const std::shared_ptr<const PackageID> &,
117 const std::shared_ptr<const PackageID> &)
const override PALUDIS_ATTRIBUTE((warn_unused_result));
124 const std::shared_ptr<const
PackageID> &,
125 const std::shared_ptr<const
PackageID> &,
129 extern template class
Pimp<UserKeyRequirement>;
137 public AdditionalPackageDepSpecRequirement
147 ~ExcludeRequirement()
override;
153 const std::shared_ptr<const PackageID> &,
154 const std::shared_ptr<const PackageID> &,
158 const std::shared_ptr<const PackageID> &)
const override PALUDIS_ATTRIBUTE((warn_unused_result));
165 const std::shared_ptr<const
PackageID> &,
166 const std::shared_ptr<const
PackageID> &,
Definition changed_choices.hh:36
Definition environment.hh:203
const std::string as_human_string(const std::shared_ptr< const PackageID > &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::pair< bool, std::string > requirement_met(const Environment *const, const ChangedChoices *, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, const ChangedChoices *const) const override PALUDIS_ATTRIBUTE((warn_unused_result))
Tribool accumulate_changes_to_make_met(const Environment *const, const ChangedChoices *const, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, ChangedChoices &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_raw_string() const override PALUDIS_ATTRIBUTE((warn_unused_result))
Definition dep_spec.hh:348
Definition package_id.hh:99
Definition slot_requirement.hh:88
Definition slot_requirement.hh:70
Definition slot_requirement.hh:41
const std::pair< bool, std::string > requirement_met(const Environment *const, const ChangedChoices *, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, const ChangedChoices *const) const override PALUDIS_ATTRIBUTE((warn_unused_result))
Tribool accumulate_changes_to_make_met(const Environment *const, const ChangedChoices *const, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, ChangedChoices &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_raw_string() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_human_string(const std::shared_ptr< const PackageID > &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_string() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< const SlotRequirement > maybe_original_requirement_if_rewritten() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::pair< SlotName, SlotName > slots() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const SlotName slot() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< const SlotRequirement > maybe_original_requirement_if_rewritten() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_string() const override PALUDIS_ATTRIBUTE((warn_unused_result))
Options< UserPackageDepSpecOption > UserPackageDepSpecOptions
Definition user_dep_spec-fwd.hh:44
PackageDepSpec envless_parse_package_dep_spec_for_tests(const std::string &) PALUDIS_VISIBLE
PackageDepSpec parse_user_package_dep_spec(const std::string &, const Environment *const, const UserPackageDepSpecOptions &, const Filter &=filter::All()) PALUDIS_VISIBLE
WrappedValue< SlotNameTag > SlotName
Definition name-fwd.hh:93
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24