#include <dep_spec.hh>

Basic operations | |
| PackageDepSpec (const std::tr1::shared_ptr< const PackageDepSpecData > &) | |
| PackageDepSpec (const PackageDepSpec &) | |
| ~PackageDepSpec () | |
Public Member Functions | |
| std::tr1::shared_ptr< const QualifiedPackageName > | package_ptr () const |
| std::tr1::shared_ptr< const PackageNamePart > | package_name_part_ptr () const |
| std::tr1::shared_ptr< const CategoryNamePart > | category_name_part_ptr () const |
| std::tr1::shared_ptr< const VersionRequirements > | version_requirements_ptr () const |
| VersionRequirementsMode | version_requirements_mode () const |
| std::tr1::shared_ptr< const SlotRequirement > | slot_requirement_ptr () const |
| std::tr1::shared_ptr< const RepositoryName > | in_repository_ptr () const |
| std::tr1::shared_ptr< const InstallableToRepository > | installable_to_repository_ptr () const |
| std::tr1::shared_ptr< const RepositoryName > | from_repository_ptr () const |
| std::tr1::shared_ptr< const FSEntry > | installed_at_path_ptr () const |
| std::tr1::shared_ptr< const InstallableToPath > | installable_to_path_ptr () const |
| std::tr1::shared_ptr< const AdditionalPackageDepSpecRequirements > | additional_requirements_ptr () const |
| std::tr1::shared_ptr< const DepTag > | tag () const |
| void | set_tag (const std::tr1::shared_ptr< const DepTag > &s) |
| std::tr1::shared_ptr < PackageDepSpec > | without_additional_requirements () const |
| std::tr1::shared_ptr< const PackageDepSpecData > | data () const |
| virtual const PackageDepSpec * | as_package_dep_spec () const |
Protected Member Functions | |
| virtual void | need_keys_added () const |
Friends | |
| std::ostream & | operator<< (std::ostream &, const PackageDepSpec &) |
A PackageDepSpec is implemented in terms of PackageDepSpecData. Individual repositories provide their own way of creating PackageDepSpec::Data that handle the native syntax for those repositories (e.g. CRAN uses "Blah (>= 1.23)" whilst E uses ">=cat/blah-1.23").
To create a PackageDepSpec from user input, use parse_user_package_dep_spec(), and for programmer input, use make_package_dep_spec().
example_dep_spec.cc, example_dep_tree.cc, and example_formatter.cc.
| paludis::PackageDepSpec::PackageDepSpec | ( | const std::tr1::shared_ptr< const PackageDepSpecData > & | ) |
Constructor.
Clients will usually use either parse_user_package_dep_spec() or make_package_dep_spec() rather than calling this method directly. Repositories will define their own way of creating a PackageDepSpec.
| virtual void paludis::PackageDepSpec::need_keys_added | ( | ) | const [protected, virtual] |
This method will be called before any of the metadata key iteration methods does its work. It can be used by subclasses to implement as-needed loading of keys.
Implements paludis::MetadataKeyHolder.
| std::tr1::shared_ptr<const QualifiedPackageName> paludis::PackageDepSpec::package_ptr | ( | ) | const |
Fetch the package name (may be a zero pointer).
| std::tr1::shared_ptr<const PackageNamePart> paludis::PackageDepSpec::package_name_part_ptr | ( | ) | const |
Fetch the package name part, if wildcarded, or a zero pointer otherwise.
| std::tr1::shared_ptr<const CategoryNamePart> paludis::PackageDepSpec::category_name_part_ptr | ( | ) | const |
Fetch the category name part, if wildcarded, or a zero pointer otherwise.
| std::tr1::shared_ptr<const VersionRequirements> paludis::PackageDepSpec::version_requirements_ptr | ( | ) | const |
Fetch the version requirements (may be a zero pointer).
| VersionRequirementsMode paludis::PackageDepSpec::version_requirements_mode | ( | ) | const |
Fetch the version requirements mode.
| std::tr1::shared_ptr<const SlotRequirement> paludis::PackageDepSpec::slot_requirement_ptr | ( | ) | const |
Fetch the slot requirement (may be a zero pointer).
| std::tr1::shared_ptr<const RepositoryName> paludis::PackageDepSpec::in_repository_ptr | ( | ) | const |
Fetch the in-repository requirement (may be a zero pointer).
| std::tr1::shared_ptr<const InstallableToRepository> paludis::PackageDepSpec::installable_to_repository_ptr | ( | ) | const |
Fetch the installable-to-repository requirement (may be a zero pointer).
| std::tr1::shared_ptr<const RepositoryName> paludis::PackageDepSpec::from_repository_ptr | ( | ) | const |
Fetch the from-repository requirement (may be a zero pointer).
| std::tr1::shared_ptr<const FSEntry> paludis::PackageDepSpec::installed_at_path_ptr | ( | ) | const |
Fetch the installed-at-path requirement (may be a zero pointer).
| std::tr1::shared_ptr<const InstallableToPath> paludis::PackageDepSpec::installable_to_path_ptr | ( | ) | const |
Fetch the installable-to-path requirement (may be a zero pointer).
| std::tr1::shared_ptr<const AdditionalPackageDepSpecRequirements> paludis::PackageDepSpec::additional_requirements_ptr | ( | ) | const |
Fetch any additional requirements (may be a zero pointer).
| std::tr1::shared_ptr<const DepTag> paludis::PackageDepSpec::tag | ( | ) | const |
Fetch our tag.
| void paludis::PackageDepSpec::set_tag | ( | const std::tr1::shared_ptr< const DepTag > & | s | ) |
Set our tag.
| std::tr1::shared_ptr<PackageDepSpec> paludis::PackageDepSpec::without_additional_requirements | ( | ) | const |
Fetch a copy of ourself without additional requirements.
| std::tr1::shared_ptr<const PackageDepSpecData> paludis::PackageDepSpec::data | ( | ) | const |
Access to our data.
| virtual const PackageDepSpec* paludis::PackageDepSpec::as_package_dep_spec | ( | ) | const [virtual] |
Return us as a PackageDepSpec, or 0 if we are not a ConditionalDepSpec.
Reimplemented from paludis::DepSpec.
| std::ostream& operator<< | ( | std::ostream & | , | |
| const PackageDepSpec & | ||||
| ) | [friend] |
A PackageDepSpec can be written to an ostream.
1.5.5