paludis  Version 2.6.0
Files | Classes | Typedefs | Enumerations | Functions
Dependency specifications

Files

file  dep_label-fwd.hh
 
file  dep_label.hh
 
file  dep_spec-fwd.hh
 
file  dep_spec.hh
 
file  dep_spec_flattener.hh
 
file  distribution-fwd.hh
 
file  version_requirements-fwd.hh
 
file  version_requirements.hh
 
file  example_dep_label.cc
 
file  example_dep_spec.cc
 
file  example_dep_spec_flattener.cc
 

Classes

class  paludis::AdditionalPackageDepSpecRequirement
 
class  paludis::URILabel
 
class  paludis::SpecificURILabel< T_ >
 
class  paludis::DependenciesLabel
 
class  paludis::SpecificDependenciesLabel< T_ >
 
class  paludis::DepSpec
 
class  paludis::AnyDepSpec
 
class  paludis::AllDepSpec
 
class  paludis::ExactlyOneDepSpec
 
class  paludis::AtMostOneDepSpec
 
class  paludis::ConditionalDepSpec
 
class  paludis::StringDepSpec
 
struct  paludis::InstallableToRepository
 
struct  paludis::InstallableToPath
 
class  paludis::PackageDepSpec
 
class  paludis::PlainTextDepSpec
 
class  paludis::NamedSetDepSpec
 
class  paludis::LicenseDepSpec
 
class  paludis::FetchableURIDepSpec
 
class  paludis::SimpleURIDepSpec
 
class  paludis::PackageDepSpecError
 
class  paludis::BlockDepSpec
 
class  paludis::LabelsDepSpec< Labels_ >
 
class  paludis::ConditionalDepSpecData
 
class  paludis::PackageDepSpecData
 
class  paludis::DepSpecFlattener< Heirarchy_, Item_ >
 
struct  paludis::PackageDepSpecProperties
 
class  paludis::PartiallyMadePackageDepSpec
 
class  paludis::SlotRequirement
 
class  paludis::SlotExactPartialRequirement
 
class  paludis::SlotExactFullRequirement
 
class  paludis::SlotAnyAtAllLockedRequirement
 
class  paludis::SlotAnyPartialLockedRequirement
 
class  paludis::SlotAnyUnlockedRequirement
 
class  paludis::SlotUnknownRewrittenRequirement
 
class  paludis::GotASetNotAPackageDepSpec
 
class  paludis::UserKeyRequirement
 
class  paludis::ExcludeRequirement
 
struct  paludis::VersionRequirement
 

Typedefs

typedef Sequence< std::shared_ptr< const AdditionalPackageDepSpecRequirement > > paludis::AdditionalPackageDepSpecRequirements
 
typedef SpecificDependenciesLabel< DependenciesBuildLabelTag > paludis::DependenciesBuildLabel
 
typedef SpecificDependenciesLabel< DependenciesRunLabelTag > paludis::DependenciesRunLabel
 
typedef SpecificDependenciesLabel< DependenciesPostLabelTag > paludis::DependenciesPostLabel
 
typedef SpecificDependenciesLabel< DependenciesCompileAgainstLabelTag > paludis::DependenciesCompileAgainstLabel
 
typedef SpecificDependenciesLabel< DependenciesFetchLabelTag > paludis::DependenciesFetchLabel
 
typedef SpecificDependenciesLabel< DependenciesInstallLabelTag > paludis::DependenciesInstallLabel
 
typedef SpecificDependenciesLabel< DependenciesSuggestionLabelTag > paludis::DependenciesSuggestionLabel
 
typedef SpecificDependenciesLabel< DependenciesRecommendationLabelTag > paludis::DependenciesRecommendationLabel
 
typedef SpecificDependenciesLabel< DependenciesTestLabelTag > paludis::DependenciesTestLabel
 
typedef Sequence< std::shared_ptr< const DependenciesLabel > > paludis::DependenciesLabelSequence
 
typedef LabelsDepSpec< URILabel > paludis::URILabelsDepSpec
 
typedef LabelsDepSpec< DependenciesLabel > paludis::DependenciesLabelsDepSpec
 
typedef Options< PartiallyMadePackageDepSpecOptionpaludis::PartiallyMadePackageDepSpecOptions
 
typedef Options< UserPackageDepSpecOptionpaludis::UserPackageDepSpecOptions
 
typedef Sequence< VersionRequirement > paludis::VersionRequirements
 

Enumerations

enum  paludis::DepSpecAnnotationRole {
  paludis::dsar_none, paludis::dsar_general_description, paludis::dsar_general_url, paludis::dsar_general_note,
  paludis::dsar_general_lang, paludis::dsar_general_date, paludis::dsar_general_author, paludis::dsar_general_token,
  paludis::dsar_general_defined_in, paludis::dsar_no_self_match, paludis::dsar_blocker_manual, paludis::dsar_blocker_uninstall_blocked_after,
  paludis::dsar_blocker_uninstall_blocked_before, paludis::dsar_blocker_upgrade_blocked_before, paludis::dsar_blocker_weak, paludis::dsar_blocker_strong,
  paludis::dsar_myoptions_requires, paludis::dsar_myoptions_n_at_least_one, paludis::dsar_myoptions_n_at_most_one, paludis::dsar_myoptions_n_exactly_one,
  paludis::dsar_myoptions_presumed, paludis::dsar_suggestions_group_name, paludis::dsar_system_implicit, paludis::dsar_licence_last_checked,
  paludis::last_dsar
}
 
enum  paludis::DepSpecAnnotationKind {
  paludis::dsak_literal, paludis::dsak_synthetic, paludis::dsak_expanded, paludis::dsak_expandable,
  paludis::last_dsak
}
 
enum  DepSpecAnnotationRole {
  dsar_none, dsar_general_description, dsar_general_url, dsar_general_note,
  dsar_general_lang, dsar_general_date, dsar_general_author, dsar_general_token,
  dsar_general_defined_in, dsar_no_self_match, dsar_blocker_manual, dsar_blocker_uninstall_blocked_after,
  dsar_blocker_uninstall_blocked_before, dsar_blocker_upgrade_blocked_before, dsar_blocker_weak, dsar_blocker_strong,
  dsar_myoptions_requires, dsar_myoptions_n_at_least_one, dsar_myoptions_n_at_most_one, dsar_myoptions_n_exactly_one,
  dsar_myoptions_presumed, dsar_suggestions_group_name, dsar_system_implicit, dsar_licence_last_checked,
  last_dsar
}
 
enum  DepSpecAnnotationKind {
  dsak_literal, dsak_synthetic, dsak_expanded, dsak_expandable,
  last_dsak
}
 
enum  paludis::PartiallyMadePackageDepSpecOption { paludis::pmpdso_always_use_ranged_deps, paludis::last_pmpdso }
 
enum  PartiallyMadePackageDepSpecOption { pmpdso_always_use_ranged_deps, last_pmpdso }
 
enum  paludis::UserPackageDepSpecOption { paludis::updso_allow_wildcards, paludis::updso_throw_if_set, paludis::updso_no_disambiguation, paludis::last_updso }
 
enum  paludis::UserKeyRequirementOperator {
  paludis::ukro_equal, paludis::ukro_not_equal, paludis::ukro_greater, paludis::ukro_less_or_subset,
  paludis::ukro_exists, paludis::last_ukro
}
 
enum  UserPackageDepSpecOption { updso_allow_wildcards, updso_throw_if_set, updso_no_disambiguation, last_updso }
 
enum  UserKeyRequirementOperator {
  ukro_equal, ukro_not_equal, ukro_greater, ukro_less_or_subset,
  ukro_exists, last_ukro
}
 
enum  paludis::VersionRequirementsMode { vr_or, paludis::vr_and, paludis::last_vr }
 
enum  paludis::VersionSpecOption {
  paludis::vso_flexible_dashes, paludis::vso_flexible_dots, paludis::vso_ignore_case, paludis::vso_letters_anywhere,
  paludis::vso_dotted_suffixes, paludis::vso_ignore_leading_v, paludis::vso_allow_leading_dot, paludis::last_vso
}
 
enum  paludis::VersionSpecComponentType {
  paludis::vsct_ignore, paludis::vsct_alpha, paludis::vsct_beta, paludis::vsct_pre,
  paludis::vsct_rc, paludis::vsct_empty, paludis::vsct_revision, paludis::vsct_patch,
  paludis::vsct_trypart, paludis::vsct_letter, paludis::vsct_floatlike, paludis::vsct_number,
  paludis::vsct_scm, paludis::last_vsct
}
 
enum  VersionSpecOption {
  vso_flexible_dashes, vso_flexible_dots, vso_ignore_case, vso_letters_anywhere,
  vso_dotted_suffixes, vso_ignore_leading_v, vso_allow_leading_dot, last_vso
}
 
enum  VersionSpecComponentType {
  vsct_ignore, vsct_alpha, vsct_beta, vsct_pre,
  vsct_rc, vsct_empty, vsct_revision, vsct_patch,
  vsct_trypart, vsct_letter, vsct_floatlike, vsct_number,
  vsct_scm, last_vsct
}
 

Functions

std::ostream & paludis::operator<< (std::ostream &, const AdditionalPackageDepSpecRequirement &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const URILabel &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const DependenciesLabel &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const PlainTextDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const PackageDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const URILabelsDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const DependenciesLabelsDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const BlockDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const SimpleURIDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const FetchableURIDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const LicenseDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const ConditionalDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const NamedSetDepSpec &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const PlainTextLabelDepSpec &) PALUDIS_VISIBLE
 
bool paludis::package_dep_spec_has_properties (const PackageDepSpec &, const PackageDepSpecProperties &) PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((warn_unused_result))
 
PartiallyMadePackageDepSpec paludis::make_package_dep_spec (const PartiallyMadePackageDepSpecOptions &) PALUDIS_VISIBLE
 
VersionSpecOptions paludis::user_version_spec_options () PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
 
PackageDepSpec paludis::parse_user_package_dep_spec (const std::string &, const Environment *const, const UserPackageDepSpecOptions &, const Filter &=filter::All()) PALUDIS_VISIBLE
 
PackageDepSpec paludis::envless_parse_package_dep_spec_for_tests (const std::string &) PALUDIS_VISIBLE
 
std::ostream & paludis::operator<< (std::ostream &, const VersionRequirementsMode &) PALUDIS_VISIBLE
 

Detailed Description

Dependency specification classes provide an abstraction representing dependency and dependency-like (for example, SRC_URI, RESTRICT) heirarchies.

Examples

Typedef Documentation

typedef Sequence<std::shared_ptr<const AdditionalPackageDepSpecRequirement> > paludis::AdditionalPackageDepSpecRequirements

A collection of additional requirements for a PackageDepSpec.

Since
0.26
typedef SpecificDependenciesLabel<DependenciesBuildLabelTag> paludis::DependenciesBuildLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesCompileAgainstLabelTag> paludis::DependenciesCompileAgainstLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesFetchLabelTag> paludis::DependenciesFetchLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesInstallLabelTag> paludis::DependenciesInstallLabel

Dependencies label.

Since
0.42
typedef LabelsDepSpec<DependenciesLabel> paludis::DependenciesLabelsDepSpec

A DependenciesLabelsDepSpec represents labels in a DependenciesSpecTree.

Since
0.42
typedef Sequence<std::shared_ptr<const DependenciesLabel> > paludis::DependenciesLabelSequence

A collection of DependencyLabel instances.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesPostLabelTag> paludis::DependenciesPostLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesRecommendationLabelTag> paludis::DependenciesRecommendationLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesRunLabelTag> paludis::DependenciesRunLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesSuggestionLabelTag> paludis::DependenciesSuggestionLabel

Dependencies label.

Since
0.42
typedef SpecificDependenciesLabel<DependenciesTestLabelTag> paludis::DependenciesTestLabel

Dependencies label.

Since
0.42
typedef LabelsDepSpec<URILabel> paludis::URILabelsDepSpec

A URILabelsDepSpec represents labels in a FetchableURISpecTree.

Since
0.26

Options for parse_user_package_dep_spec.

Since
0.26
typedef Sequence<VersionRequirement> paludis::VersionRequirements

A collection of VersionRequirement instances, usually for a PackageDepSpec.

See also
PackageDepSpec

Enumeration Type Documentation

What kind of annotation a DepSpecAnnotation is.

Note that dsas_expandable annotations should generally be ignored for logic purposes, and that dsas_expanded should generally be ignored for display purposes.

Since
0.59
Enumerator
dsak_literal 

Specified literally.

dsak_synthetic 

Synthetic (e.g. for 0ish blockers)

dsak_expanded 

Expanded from a *key.

dsak_expandable 

This is a *key.

last_dsak 

Number of keys in paludis::DepSpecAnnotationKind.

What kind of annotation a DepSpecAnnotation is.

Note that dsas_expandable annotations should generally be ignored for logic purposes, and that dsas_expanded should generally be ignored for display purposes.

Since
0.59
Enumerator
dsak_literal 

Specified literally.

dsak_synthetic 

Synthetic (e.g. for 0ish blockers)

dsak_expanded 

Expanded from a *key.

dsak_expandable 

This is a *key.

last_dsak 

Number of keys in paludis::DepSpecAnnotationKind.

Role for a DepSpecAnnotation.

Since
0.58
Enumerator
dsar_none 

No particular role.

dsar_general_description 

A description.

dsar_general_url 

A url.

dsar_general_note 

A note.

dsar_general_lang 

A language.

dsar_general_date 

A date.

dsar_general_author 

An author.

dsar_general_token 

A token.

dsar_general_defined_in 

Defined in.

dsar_no_self_match 

Spec doesn't match the containing package (checked by match_package)

dsar_blocker_manual 

Blocker, resolve manually.

dsar_blocker_uninstall_blocked_after 

Blocker, uninstall blocked after.

dsar_blocker_uninstall_blocked_before 

Blocker, uninstall blocked before.

dsar_blocker_upgrade_blocked_before 

Blocker, upgrade blocked before.

dsar_blocker_weak 

Blocker, weak (generally implicit)

dsar_blocker_strong 

Blocker, strong (generally implicit)

dsar_myoptions_requires 

MYOPTIONS, requires.

dsar_myoptions_n_at_least_one 

MYOPTIONS, at least one.

dsar_myoptions_n_at_most_one 

MYOPTIONS, at most one.

dsar_myoptions_n_exactly_one 

MYOPTIONS, exactly one.

dsar_myoptions_presumed 

MYOPTIONS, presumed.

dsar_suggestions_group_name 

Group name for suggestions.

dsar_system_implicit 

For system, whether a spec is an implicit dependency.

dsar_licence_last_checked 

Last checked, for licences.

last_dsar 

Number of keys in paludis::DepSpecAnnotationRole.

Role for a DepSpecAnnotation.

Since
0.58
Enumerator
dsar_none 

No particular role.

dsar_general_description 

A description.

dsar_general_url 

A url.

dsar_general_note 

A note.

dsar_general_lang 

A language.

dsar_general_date 

A date.

dsar_general_author 

An author.

dsar_general_token 

A token.

dsar_general_defined_in 

Defined in.

dsar_no_self_match 

Spec doesn't match the containing package (checked by match_package)

dsar_blocker_manual 

Blocker, resolve manually.

dsar_blocker_uninstall_blocked_after 

Blocker, uninstall blocked after.

dsar_blocker_uninstall_blocked_before 

Blocker, uninstall blocked before.

dsar_blocker_upgrade_blocked_before 

Blocker, upgrade blocked before.

dsar_blocker_weak 

Blocker, weak (generally implicit)

dsar_blocker_strong 

Blocker, strong (generally implicit)

dsar_myoptions_requires 

MYOPTIONS, requires.

dsar_myoptions_n_at_least_one 

MYOPTIONS, at least one.

dsar_myoptions_n_at_most_one 

MYOPTIONS, at most one.

dsar_myoptions_n_exactly_one 

MYOPTIONS, exactly one.

dsar_myoptions_presumed 

MYOPTIONS, presumed.

dsar_suggestions_group_name 

Group name for suggestions.

dsar_system_implicit 

For system, whether a spec is an implicit dependency.

dsar_licence_last_checked 

Last checked, for licences.

last_dsar 

Number of keys in paludis::DepSpecAnnotationRole.

Options for PartiallyMadePackageDepSpec.

Since
0.38
Enumerator
pmpdso_always_use_ranged_deps 

Always write [>=1] style dependencies.

last_pmpdso 

Number of keys in paludis::PartiallyMadePackageDepSpecOption.

Options for PartiallyMadePackageDepSpec.

Since
0.38
Enumerator
pmpdso_always_use_ranged_deps 

Always write [>=1] style dependencies.

last_pmpdso 

Number of keys in paludis::PartiallyMadePackageDepSpecOption.

Comparators for UserKeyRequirement.

Since
1.0.1
Enumerator
ukro_equal 

'=' : Matches if key is equal to value, only ever matches for simple values, sets and sequences

ukro_not_equal 

'!=' : Matches if key is not equal to value, only ever matches for simple values, sets and sequences

ukro_greater 

'>' : Matches if key is greater-than value, only ever matches for numeric values

ukro_less_or_subset 

'<' : Matches if key is less-than value for numeric values or if values is part-of key for sets, sequences and spec trees

ukro_exists 

'?' : Matches only if the specified key exists, takes no value

last_ukro 

Number of keys in paludis::UserKeyRequirementOperator.

Comparators for UserKeyRequirement.

Since
1.0.1
Enumerator
ukro_equal 

'=' : Matches if key is equal to value, only ever matches for simple values, sets and sequences

ukro_not_equal 

'!=' : Matches if key is not equal to value, only ever matches for simple values, sets and sequences

ukro_greater 

'>' : Matches if key is greater-than value, only ever matches for numeric values

ukro_less_or_subset 

'<' : Matches if key is less-than value for numeric values or if values is part-of key for sets, sequences and spec trees

ukro_exists 

'?' : Matches only if the specified key exists, takes no value

last_ukro 

Number of keys in paludis::UserKeyRequirementOperator.

Options for parse_user_package_dep_spec.

Since
0.26
Enumerator
updso_allow_wildcards 

Allow wildcards for category, package.

updso_throw_if_set 

Check if it's a set, and throw GotASetNotAPackageDepSpec if so.

Since
0.28
updso_no_disambiguation 

Require an explicit category.

Since
0.28
last_updso 

Number of keys in paludis::UserPackageDepSpecOption.

Options for parse_user_package_dep_spec.

Since
0.26
Enumerator
updso_allow_wildcards 

Allow wildcards for category, package.

updso_throw_if_set 

Check if it's a set, and throw GotASetNotAPackageDepSpec if so.

Since
0.28
updso_no_disambiguation 

Require an explicit category.

Since
0.28
last_updso 

Number of keys in paludis::UserPackageDepSpecOption.

Whether our version requirements are an 'and' or an 'or' set.

See also
PackageDepSpec
Enumerator
vr_and 

< Must match one

last_vr 

< Must match all

The type of a VersionSpec component.

Since
0.32
Enumerator
vsct_ignore 

An ignorable part (e.g. v in v1.23)

vsct_alpha 

An alpha part.

vsct_beta 

A beta part.

vsct_pre 

A pre part.

vsct_rc 

An rc part.

vsct_empty 

Used for ordering, not present in real versions.

vsct_revision 

A revision part.

vsct_patch 

A patch part.

vsct_trypart 

A try part.

vsct_letter 

A letter (e.g. x in 1.2x)

vsct_floatlike 

A number to be compared using float-like rules.

vsct_number 

A number (e.g. 1 or 2 in 1.2_pre3)

vsct_scm 

An scm part.

last_vsct 

Number of keys in paludis::VersionSpecComponentType.

The type of a VersionSpec component.

Since
0.32
Enumerator
vsct_ignore 

An ignorable part (e.g. v in v1.23)

vsct_alpha 

An alpha part.

vsct_beta 

A beta part.

vsct_pre 

A pre part.

vsct_rc 

An rc part.

vsct_empty 

Used for ordering, not present in real versions.

vsct_revision 

A revision part.

vsct_patch 

A patch part.

vsct_trypart 

A try part.

vsct_letter 

A letter (e.g. x in 1.2x)

vsct_floatlike 

A number to be compared using float-like rules.

vsct_number 

A number (e.g. 1 or 2 in 1.2_pre3)

vsct_scm 

An scm part.

last_vsct 

Number of keys in paludis::VersionSpecComponentType.

An option for parsing a VersionSpec.

Since
0.38
See also
VersionSpecOptions
Enumerator
vso_flexible_dashes 

Allow - and _ to be interchanged.

vso_flexible_dots 

Allow - where . is allowed.

vso_ignore_case 

Allow uppercase letters.

vso_letters_anywhere 

Allow 1a2.3 etc.

vso_dotted_suffixes 

Allow 1_alpha2.3.

vso_ignore_leading_v 

Allow v1 etc.

vso_allow_leading_dot 

Allow .1.2.3 etc.

last_vso 

Number of keys in paludis::VersionSpecOption.

An option for parsing a VersionSpec.

Since
0.38
See also
VersionSpecOptions
Enumerator
vso_flexible_dashes 

Allow - and _ to be interchanged.

vso_flexible_dots 

Allow - where . is allowed.

vso_ignore_case 

Allow uppercase letters.

vso_letters_anywhere 

Allow 1a2.3 etc.

vso_dotted_suffixes 

Allow 1_alpha2.3.

vso_ignore_leading_v 

Allow v1 etc.

vso_allow_leading_dot 

Allow .1.2.3 etc.

last_vso 

Number of keys in paludis::VersionSpecOption.

Function Documentation

PackageDepSpec paludis::envless_parse_package_dep_spec_for_tests ( const std::string &  )

Create a PackageDepSpec from user input, restricted to not having an Environment available.

For use in test cases; should not be used elsewhere.

Since
0.61
PartiallyMadePackageDepSpec paludis::make_package_dep_spec ( const PartiallyMadePackageDepSpecOptions )

Create a PackageDepSpec from various rules.

Note the return type is a PartiallyMadePackageDepSpec, which is implicitly convertible to a PackageDepSpec.

Since
0.26
Examples:
example_match_package.cc, and example_selection.cc.
std::ostream& paludis::operator<< ( std::ostream &  ,
const AdditionalPackageDepSpecRequirement  
)

An AdditionalPackageDepSpecRequirement can be written to an ostream.

std::ostream& paludis::operator<< ( std::ostream &  ,
const URILabel  
)

A URILabel can be written to a stream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const VersionRequirementsMode  
)

Write a VersionRequirementsMode to a stream.

std::ostream& paludis::operator<< ( std::ostream &  ,
const PlainTextDepSpec  
)

A PlainTextDepSpec can be written to an ostream.

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

A PackageDepSpec can be written to an ostream.

std::ostream& paludis::operator<< ( std::ostream &  ,
const URILabelsDepSpec  
)

A URILabelsDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const DependenciesLabelsDepSpec  
)

A DependenciesLabelsDepSpec can be written to an ostream.

Since
0.42
std::ostream& paludis::operator<< ( std::ostream &  ,
const BlockDepSpec  
)

A BlockDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const SimpleURIDepSpec  
)

A SimpleURIDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const FetchableURIDepSpec  
)

A FetchableURIDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const LicenseDepSpec  
)

A LicenseDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const ConditionalDepSpec  
)

A ConditionalDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const NamedSetDepSpec  
)

A NamedSetDepSpec can be written to an ostream.

Since
0.26
std::ostream& paludis::operator<< ( std::ostream &  ,
const PlainTextLabelDepSpec  
)

A PlainTextLabelDepSpec can be written to an ostream.

Since
0.32
std::ostream& paludis::operator<< ( std::ostream &  ,
const DependenciesLabel  
)

A DependenciesLabel can be written to a stream.

Since
0.42
bool paludis::package_dep_spec_has_properties ( const PackageDepSpec ,
const PackageDepSpecProperties  
)

Does a PackageDepSpec match the specified property requirements?

We have a lot of code that wants to know things like "does this spec consist exactly of a cat/pkg:slot?" and "does this spec have anything other than a cat, pkg or slot?". All of these places need to be updated every time a new PackageDepSpec attribute comes along. Using this function makes sure the compiler catches any properties we haven't updated.

Since
0.34.1
PackageDepSpec paludis::parse_user_package_dep_spec ( const std::string &  ,
const Environment const,
const UserPackageDepSpecOptions ,
const Filter = filter::All() 
)

Create a PackageDepSpec from user input.

Since
0.28
Examples:
example_dep_spec.cc.
VersionSpecOptions paludis::user_version_spec_options ( )

The VersionSpecOptions to use for parsing a user spec.

Since
0.38
Examples:
example_version_operator.cc, and example_version_spec.cc.