20#ifndef PALUDIS_GUARD_PALUDIS_ADDITIONAL_PACKAGE_DEP_SPEC_REQUIREMENT_HH
21#define PALUDIS_GUARD_PALUDIS_ADDITIONAL_PACKAGE_DEP_SPEC_REQUIREMENT_HH 1
23#include <paludis/additional_package_dep_spec_requirement-fwd.hh>
25#include <paludis/util/wrapped_forward_iterator.hh>
26#include <paludis/util/tribool-fwd.hh>
28#include <paludis/changed_choices-fwd.hh>
43 AdditionalPackageDepSpecRequirement() =
default;
44 virtual ~AdditionalPackageDepSpecRequirement();
46 AdditionalPackageDepSpecRequirement(
const AdditionalPackageDepSpecRequirement &) =
delete;
47 AdditionalPackageDepSpecRequirement & operator= (
const AdditionalPackageDepSpecRequirement &) =
delete;
69 const std::shared_ptr<const PackageID> & target_id,
70 const std::shared_ptr<const PackageID> & spec_id,
93 const std::shared_ptr<const PackageID> &,
94 const std::shared_ptr<const PackageID> & spec_id,
106 const std::shared_ptr<const PackageID> & spec_id)
const PALUDIS_ATTRIBUTE((warn_unused_result)) = 0;
116 const std::shared_ptr<const AdditionalPackageDepSpecRequirement> >;
virtual const std::string as_human_string(const std::shared_ptr< const PackageID > &spec_id) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual Tribool accumulate_changes_to_make_met(const Environment *const, const ChangedChoices *const maybe_changes_to_owner, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &spec_id, ChangedChoices &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::pair< bool, std::string > requirement_met(const Environment *const, const ChangedChoices *const maybe_changes_to_owner, const std::shared_ptr< const PackageID > &target_id, const std::shared_ptr< const PackageID > &spec_id, const ChangedChoices *const maybe_changes_to_target) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const std::string as_raw_string() const PALUDIS_ATTRIBUTE((warn_unused_result))=0
Definition changed_choices.hh:36
Definition environment.hh:203
Definition sequence.hh:51
Definition wrapped_forward_iterator.hh:42
Sequence< std::shared_ptr< const AdditionalPackageDepSpecRequirement > > AdditionalPackageDepSpecRequirements
Definition additional_package_dep_spec_requirement-fwd.hh:45
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24