paludis  Version 2.6.0
Public Member Functions | Friends | List of all members
paludis::PackageDepSpec Class Reference

#include <dep_spec.hh>

+ Inheritance diagram for paludis::PackageDepSpec:

Public Member Functions

std::shared_ptr< const QualifiedPackageNamepackage_ptr () const
 
std::shared_ptr< const PackageNamePartpackage_name_part_ptr () const
 
std::shared_ptr< const CategoryNamePartcategory_name_part_ptr () const
 
std::shared_ptr< const VersionRequirementsversion_requirements_ptr () const
 
VersionRequirementsMode version_requirements_mode () const
 
std::shared_ptr< const SlotRequirementslot_requirement_ptr () const
 
std::shared_ptr< const RepositoryNamein_repository_ptr () const
 
std::shared_ptr< const InstallableToRepositoryinstallable_to_repository_ptr () const
 
std::shared_ptr< const RepositoryNamefrom_repository_ptr () const
 
std::shared_ptr< const FSPathinstalled_at_path_ptr () const
 
std::shared_ptr< const InstallableToPathinstallable_to_path_ptr () const
 
std::shared_ptr< const AdditionalPackageDepSpecRequirementsadditional_requirements_ptr () const
 
std::shared_ptr< const PackageDepSpecDatadata () const
 
- Public Member Functions inherited from paludis::StringDepSpec
std::string text () const
 
- Public Member Functions inherited from paludis::DepSpec
virtual const std::shared_ptr< const DepSpecAnnotationsmaybe_annotations () const PALUDIS_ATTRIBUTE((warn_unused_result))
 
virtual void set_annotations (const std::shared_ptr< const DepSpecAnnotations > &)
 
virtual ~DepSpec ()
 
 DepSpec (const DepSpec &)=delete
 
DepSpecoperator= (const DepSpec &)=delete
 
- Public Member Functions inherited from paludis::Cloneable< DepSpec >
virtual std::shared_ptr< DepSpecclone () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
 
virtual ~Cloneable ()
 
- Public Member Functions inherited from paludis::CloneUsingThis< Base_, Child_ >
virtual std::shared_ptr< Base_ > clone () const PALUDIS_ATTRIBUTE((warn_unused_result))
 
virtual ~CloneUsingThis ()
 
- Public Member Functions inherited from paludis::Cloneable< Base_ >
virtual ~Cloneable ()
 

Friends

std::ostream & operator<< (std::ostream &, const PackageDepSpec &)
 

Basic operations

 PackageDepSpec (const std::shared_ptr< const PackageDepSpecData > &)
 
 PackageDepSpec (const PackageDepSpec &)
 
 ~PackageDepSpec ()
 

Additional Inherited Members

- Protected Member Functions inherited from paludis::StringDepSpec
void set_text (const std::string &)
 
 StringDepSpec (const std::string &)
 
 ~StringDepSpec ()
 

Detailed Description

A PackageDepSpec represents a package name (for example, 'app-editors/vim'), possibly with associated version and SLOT restrictions.

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().

Examples:
example_dep_spec.cc.

Constructor & Destructor Documentation

paludis::PackageDepSpec::PackageDepSpec ( const std::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.

Since
0.26

Member Function Documentation

std::shared_ptr<const AdditionalPackageDepSpecRequirements> paludis::PackageDepSpec::additional_requirements_ptr ( ) const

Fetch any additional requirements (may be a zero pointer).

Examples:
example_dep_spec.cc.
std::shared_ptr<const CategoryNamePart> paludis::PackageDepSpec::category_name_part_ptr ( ) const

Fetch the category name part, if wildcarded, or a zero pointer otherwise.

Examples:
example_dep_spec.cc.
std::shared_ptr<const PackageDepSpecData> paludis::PackageDepSpec::data ( ) const

Access to our data.

std::shared_ptr<const RepositoryName> paludis::PackageDepSpec::from_repository_ptr ( ) const

Fetch the from-repository requirement (may be a zero pointer).

Examples:
example_dep_spec.cc.
std::shared_ptr<const RepositoryName> paludis::PackageDepSpec::in_repository_ptr ( ) const

Fetch the in-repository requirement (may be a zero pointer).

Examples:
example_dep_spec.cc.
std::shared_ptr<const InstallableToPath> paludis::PackageDepSpec::installable_to_path_ptr ( ) const

Fetch the installable-to-path requirement (may be a zero pointer).

Since
0.32
Examples:
example_dep_spec.cc.
std::shared_ptr<const InstallableToRepository> paludis::PackageDepSpec::installable_to_repository_ptr ( ) const

Fetch the installable-to-repository requirement (may be a zero pointer).

Since
0.32
Examples:
example_dep_spec.cc.
std::shared_ptr<const FSPath> paludis::PackageDepSpec::installed_at_path_ptr ( ) const

Fetch the installed-at-path requirement (may be a zero pointer).

Since
0.32
Examples:
example_dep_spec.cc.
std::shared_ptr<const PackageNamePart> paludis::PackageDepSpec::package_name_part_ptr ( ) const

Fetch the package name part, if wildcarded, or a zero pointer otherwise.

Examples:
example_dep_spec.cc.
std::shared_ptr<const QualifiedPackageName> paludis::PackageDepSpec::package_ptr ( ) const

Fetch the package name (may be a zero pointer).

Examples:
example_dep_spec.cc.
std::shared_ptr<const SlotRequirement> paludis::PackageDepSpec::slot_requirement_ptr ( ) const

Fetch the slot requirement (may be a zero pointer).

Examples:
example_dep_spec.cc.
VersionRequirementsMode paludis::PackageDepSpec::version_requirements_mode ( ) const

Fetch the version requirements mode.

Examples:
example_dep_spec.cc.
std::shared_ptr<const VersionRequirements> paludis::PackageDepSpec::version_requirements_ptr ( ) const

Fetch the version requirements (may be a zero pointer).

Examples:
example_dep_spec.cc.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const PackageDepSpec  
)
friend

A PackageDepSpec can be written to an ostream.


The documentation for this class was generated from the following file: