20#ifndef PALUDIS_GUARD_PALUDIS_DEP_SPEC_HH
21#define PALUDIS_GUARD_PALUDIS_DEP_SPEC_HH 1
26#include <paludis/util/wrapped_forward_iterator.hh>
27#include <paludis/util/fs_path.hh>
28#include <paludis/util/named_value.hh>
30#include <paludis/changed_choices-fwd.hh>
37#include <paludis/slot_requirement-fwd.hh>
40#include <paludis/additional_package_dep_spec_requirement-fwd.hh>
41#include <paludis/partially_made_package_dep_spec-fwd.hh>
42#include <paludis/dep_spec_data-fwd.hh>
43#include <paludis/dep_spec_annotations-fwd.hh>
90 DepSpec(
const DepSpec &) =
delete;
91 DepSpec & operator= (
const DepSpec &) =
delete;
205 friend std::ostream &
operator<< (std::ostream &,
const ConditionalDepSpec &);
210 std::string _as_string()
const;
216 ConditionalDepSpec(
const std::shared_ptr<const ConditionalDepSpecData> &);
217 ConditionalDepSpec(
const ConditionalDepSpec &);
218 ~ConditionalDepSpec()
override;
231 const std::shared_ptr<const PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
240 const std::shared_ptr<const PackageID> &,
252 const std::shared_ptr<const PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
279 StringDepSpec(
const std::string &);
281 ~StringDepSpec()
override;
346 public StringDepSpec,
353 std::string _as_string()
const;
448 std::shared_ptr<const PackageDepSpecData>
data()
const;
464 PlainTextDepSpec(
const std::string &);
487 NamedSetDepSpec(
const SetName &);
511 LicenseDepSpec(
const std::string &);
536 FetchableURIDepSpec(
const std::string &);
577 SimpleURIDepSpec(
const std::string &);
598 PackageDepSpecError(
const std::string & msg)
noexcept;
623 BlockDepSpec(
const BlockDepSpec &);
663 template <typename Labels_>
675 ~LabelsDepSpec()
override;
682 void add_label(
const std::shared_ptr<const Labels_> &);
684 struct ConstIteratorTag;
686 const std::shared_ptr<const Labels_> > ConstIterator;
703 PlainTextLabelDepSpec(
const std::string &);
704 ~PlainTextLabelDepSpec()
override;
719 const std::shared_ptr<const
URILabel> >;
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const PackageDepSpec blocking() const PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< const DepSpecAnnotations > maybe_annotations() const override PALUDIS_ATTRIBUTE((warn_unused_result))
void set_annotations(const std::shared_ptr< const DepSpecAnnotations > &) override
Definition changed_choices.hh:36
bool condition_met(const Environment *const, const std::shared_ptr< const PackageID > &) const PALUDIS_ATTRIBUTE((warn_unused_result))
bool condition_meetable(const Environment *const, const std::shared_ptr< const PackageID > &) const PALUDIS_ATTRIBUTE((warn_unused_result))
bool condition_would_be_met_when(const Environment *const, const std::shared_ptr< const PackageID > &, const ChangedChoices &) const PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< const ConditionalDepSpecData > data() const PALUDIS_ATTRIBUTE((warn_unused_result))
Definition dep_spec_annotations.hh:48
Definition dep_spec.hh:77
virtual const std::shared_ptr< const DepSpecAnnotations > maybe_annotations() const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual void set_annotations(const std::shared_ptr< const DepSpecAnnotations > &)
Definition dep_label.hh:117
Definition environment.hh:203
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::string filename() const
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::string original_url() const
std::string renamed_url_suffix() const
Definition dep_spec.hh:666
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
Definition named_value.hh:110
const SetName name() const PALUDIS_ATTRIBUTE((warn_unused_result))
Fetch the name of our set.
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
Definition named_value.hh:51
Definition dep_spec.hh:348
std::shared_ptr< const AdditionalPackageDepSpecRequirements > additional_requirements_ptr() const
std::shared_ptr< const FSPath > installed_at_path_ptr() const
std::shared_ptr< const SlotRequirement > slot_requirement_ptr() const
std::shared_ptr< const InstallableToRepository > installable_to_repository_ptr() const
PackageDepSpec(const std::shared_ptr< const PackageDepSpecData > &)
std::shared_ptr< const InstallableToPath > installable_to_path_ptr() const
std::shared_ptr< const VersionRequirements > version_requirements_ptr() const
std::shared_ptr< const QualifiedPackageName > package_ptr() const
VersionRequirementsMode version_requirements_mode() const
std::shared_ptr< const CategoryNamePart > category_name_part_ptr() const
std::shared_ptr< const PackageDepSpecData > data() const
std::shared_ptr< const PackageNamePart > package_name_part_ptr() const
std::shared_ptr< const RepositoryName > in_repository_ptr() const
std::shared_ptr< const RepositoryName > from_repository_ptr() const
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
std::shared_ptr< DepSpec > clone() const override PALUDIS_ATTRIBUTE((warn_unused_result))
void set_text(const std::string &)
Definition dep_label.hh:59
Definition wrapped_forward_iterator.hh:42
LabelsDepSpec< URILabel > URILabelsDepSpec
Definition dep_spec-fwd.hh:58
std::ostream & operator<<(std::ostream &, const AdditionalPackageDepSpecRequirement &) PALUDIS_VISIBLE
VersionRequirementsMode
Definition version_requirements-fwd.hh:55
LabelsDepSpec< DependenciesLabel > DependenciesLabelsDepSpec
Definition dep_spec-fwd.hh:66
WrappedValue< SetNameTag > SetName
Definition name-fwd.hh:131
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24
Definition dep_spec.hh:323
Definition dep_spec.hh:311