Dependency specifications
[Paludis]


Files

file  dep_label-fwd.hh
file  dep_label.hh
file  dep_list_exceptions.hh
file  dep_list_options.hh
file  dep_spec-fwd.hh
file  dep_spec.hh
file  dep_spec_flattener.hh
file  dep_tag-fwd.hh
file  dep_tag.hh
file  dep_tree-fwd.hh
file  dep_tree.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
file  example_dep_tag.cc
file  example_dep_tree.cc

Namespaces

namespace  dep_spec_flattener_internals

Classes

struct  paludis::URILabelVisitorTypes
struct  paludis::DependencyLabelVisitorTypes
struct  paludis::DependencySystemLabelVisitorTypes
struct  paludis::DependencyTypeLabelVisitorTypes
struct  paludis::DependencySuggestLabelVisitorTypes
struct  paludis::DependencyABIsLabelVisitorTypes
class  paludis::URILabel
class  paludis::ConcreteURILabel< T_ >
class  paludis::DependencyLabel
struct  paludis::DependencySystemLabel
struct  paludis::DependencyTypeLabel
struct  paludis::DependencySuggestLabel
struct  paludis::DependencyABIsLabel
class  paludis::ConcreteDependencyLabel< T_, C_ >
class  paludis::ActiveDependencyLabels
class  paludis::DepSpec
class  paludis::AnyDepSpec
class  paludis::AllDepSpec
class  paludis::ConditionalDepSpec
class  paludis::ConditionalDepSpecData
class  paludis::StringDepSpec
class  paludis::AdditionalPackageDepSpecRequirement
struct  paludis::InstallableToRepository
struct  paludis::InstallableToPath
class  paludis::PartiallyMadePackageDepSpec
class  paludis::PackageDepSpec
class  paludis::PackageDepSpecData
class  paludis::PlainTextDepSpec
class  paludis::NamedSetDepSpec
class  paludis::LicenseDepSpec
class  paludis::FetchableURIDepSpec
class  paludis::SimpleURIDepSpec
class  paludis::PackageDepSpecError
class  paludis::BlockDepSpec
class  paludis::LabelsDepSpec< SpecTree_ >
struct  paludis::dep_spec_flattener_internals::VisitNamedSetDepSpec< H_, I_, b_ >
class  paludis::dep_spec_flattener_internals::paludis::dep_spec_flattener_internals::VisitNamedSetDepSpec< H_, I_, true >
struct  paludis::dep_spec_flattener_internals::VisitPlainTextLabelDepSpec< H_, I_, b_ >
class  paludis::dep_spec_flattener_internals::paludis::dep_spec_flattener_internals::VisitPlainTextLabelDepSpec< H_, I_, true >
struct  paludis::dep_spec_flattener_internals::VisitConditionalDepSpec< H_, I_, b_ >
struct  paludis::dep_spec_flattener_internals::paludis::dep_spec_flattener_internals::VisitConditionalDepSpec< H_, I_, true >
class  paludis::DepSpecFlattener< Heirarchy_, Item_ >
struct  paludis::DepTagVisitorTypes
class  paludis::DepTagCategory
class  paludis::DepTagCategoryFactory
class  paludis::DepTag
class  paludis::GLSADepTag
class  paludis::GeneralSetDepTag
class  paludis::DependencyDepTag
class  paludis::TargetDepTag
struct  paludis::GenericSpecTree
struct  paludis::LicenseSpecTree
struct  paludis::FetchableURISpecTree
struct  paludis::SimpleURISpecTree
struct  paludis::ProvideSpecTree
struct  paludis::PlainTextSpecTree
struct  paludis::DependencySpecTree
struct  paludis::SetSpecTree
class  paludis::GotASetNotAPackageDepSpec
class  paludis::VersionRequirement

Typedefs

typedef Sequence
< std::tr1::shared_ptr< const
DependencyLabel > > 
paludis::DependencyLabelSequence
typedef Sequence
< std::tr1::shared_ptr< const
DependencySystemLabel > > 
paludis::DependencySystemLabelSequence
typedef Sequence
< std::tr1::shared_ptr< const
DependencyTypeLabel > > 
paludis::DependencyTypeLabelSequence
typedef Sequence
< std::tr1::shared_ptr< const
DependencySuggestLabel > > 
paludis::DependencySuggestLabelSequence
typedef Sequence
< std::tr1::shared_ptr< const
DependencyABIsLabel > > 
paludis::DependencyABIsLabelSequence
typedef
ConcreteDependencyLabel
< DependencyHostLabelTag,
DependencySystemLabel > 
paludis::DependencyHostLabel
typedef
ConcreteDependencyLabel
< DependencyTargetLabelTag,
DependencySystemLabel > 
paludis::DependencyTargetLabel
typedef
ConcreteDependencyLabel
< DependencyBuildLabelTag,
DependencyTypeLabel > 
paludis::DependencyBuildLabel
typedef
ConcreteDependencyLabel
< DependencyRunLabelTag,
DependencyTypeLabel > 
paludis::DependencyRunLabel
typedef
ConcreteDependencyLabel
< DependencyPostLabelTag,
DependencyTypeLabel > 
paludis::DependencyPostLabel
typedef
ConcreteDependencyLabel
< DependencyInstallLabelTag,
DependencyTypeLabel > 
paludis::DependencyInstallLabel
typedef
ConcreteDependencyLabel
< DependencyCompileLabelTag,
DependencyTypeLabel > 
paludis::DependencyCompileLabel
typedef
ConcreteDependencyLabel
< DependencySuggestedLabelTag,
DependencySuggestLabel > 
paludis::DependencySuggestedLabel
typedef
ConcreteDependencyLabel
< DependencyRecommendedLabelTag,
DependencySuggestLabel > 
paludis::DependencyRecommendedLabel
typedef
ConcreteDependencyLabel
< DependencyRequiredLabelTag,
DependencySuggestLabel > 
paludis::DependencyRequiredLabel
typedef
ConcreteDependencyLabel
< DependencyAnyLabelTag,
DependencyABIsLabel > 
paludis::DependencyAnyLabel
typedef
ConcreteDependencyLabel
< DependencyMineLabelTag,
DependencyABIsLabel > 
paludis::DependencyMineLabel
typedef
ConcreteDependencyLabel
< DependencyPrimaryLabelTag,
DependencyABIsLabel > 
paludis::DependencyPrimaryLabel
typedef
ConcreteDependencyLabel
< DependencyABILabelTag,
DependencyABIsLabel > 
paludis::DependencyABILabel
typedef LabelsDepSpec
< URILabelVisitorTypes > 
paludis::URILabelsDepSpec
typedef LabelsDepSpec
< DependencyLabelVisitorTypes > 
paludis::DependencyLabelsDepSpec
typedef Sequence
< std::tr1::shared_ptr< const
AdditionalPackageDepSpecRequirement > > 
paludis::AdditionalPackageDepSpecRequirements
typedef Set< DepTagEntry > paludis::DepListEntryTags
typedef Formatter
< ConditionalDepSpec,
PlainTextDepSpec,
SimpleURIDepSpec,
FetchableURIDepSpec,
LicenseDepSpec, PackageDepSpec,
BlockDepSpec, URILabelsDepSpec,
DependencyLabelsDepSpec,
NamedSetDepSpec,
PlainTextLabelDepSpec > 
paludis::GenericSpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
LicenseDepSpec > 
paludis::LicenseSpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
FetchableURIDepSpec,
URILabelsDepSpec > 
paludis::FetchableURISpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
SimpleURIDepSpec > 
paludis::SimpleURISpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
PackageDepSpec > 
paludis::ProvideSpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
PlainTextDepSpec,
PlainTextLabelDepSpec > 
paludis::PlainTextSpecTree::ItemFormatter
typedef Formatter
< ConditionalDepSpec,
PackageDepSpec, BlockDepSpec,
NamedSetDepSpec,
DependencyLabelsDepSpec > 
paludis::DependencySpecTree::ItemFormatter
typedef Formatter
< PackageDepSpec,
NamedSetDepSpec > 
paludis::SetSpecTree::ItemFormatter
typedef Options
< UserPackageDepSpecOption > 
paludis::UserPackageDepSpecOptions
typedef Sequence
< VersionRequirement > 
paludis::VersionRequirements

Enumerations

enum  paludis::UserPackageDepSpecOption { paludis::updso_allow_wildcards, paludis::updso_throw_if_set, paludis::updso_no_disambiguation, paludis::last_updso }
enum  paludis::VersionRequirementsMode { vr_or, paludis::vr_and, paludis::last_vr }
enum  paludis::VersionSpecComponentType {
  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_number, paludis::vsct_scm, paludis::last_vsct
}

Functions

std::ostream & paludis::operator<< (std::ostream &, const URILabel &) PALUDIS_VISIBLE
std::ostream & paludis::operator<< (std::ostream &, const DependencyLabel &) PALUDIS_VISIBLE
std::ostream & paludis::operator<< (std::ostream &, const AdditionalPackageDepSpecRequirement &) PALUDIS_VISIBLE
PartiallyMadePackageDepSpec paludis::make_package_dep_spec () 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 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
PackageDepSpec paludis::parse_user_package_dep_spec (const std::string &, const Environment *const, const UserPackageDepSpecOptions &, const Filter &=filter::All()) 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::tr1::shared_ptr<const AdditionalPackageDepSpecRequirement> > paludis::AdditionalPackageDepSpecRequirements

A collection of additional requirements for a PackageDepSpec.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyABILabelTag, DependencyABIsLabel> paludis::DependencyABILabel

A DependencyABILabel specifies that a dependency can be satisfied by a named ABI.

Since:
0.26

typedef Sequence<std::tr1::shared_ptr<const DependencyABIsLabel> > paludis::DependencyABIsLabelSequence

A collection of DependencyABIsLabel instances.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyAnyLabelTag, DependencyABIsLabel> paludis::DependencyAnyLabel

A DependencyAnyLabel specifies that a dependency can be satisfied by any ABI.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyBuildLabelTag, DependencyTypeLabel> paludis::DependencyBuildLabel

A DependencyBuildLabel specifies build-time requirements for building a package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyCompileLabelTag, DependencyTypeLabel> paludis::DependencyCompileLabel

A DependencyCompileLabel specifies compiled-against requirements for building a package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyHostLabelTag, DependencySystemLabel> paludis::DependencyHostLabel

A DependencyHostLabel specifies host requirements for building a package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyInstallLabelTag, DependencyTypeLabel> paludis::DependencyInstallLabel

A DependencyInstallLabel specifies install-time requirements for building a package.

Since:
0.26

typedef LabelsDepSpec<DependencyLabelVisitorTypes> paludis::DependencyLabelsDepSpec

A DependencyLabelsDepSpec represents labels in a DependencySpecTree.

Since:
0.26

typedef Sequence<std::tr1::shared_ptr<const DependencyLabel> > paludis::DependencyLabelSequence

A collection of DependencyLabel instances.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyMineLabelTag, DependencyABIsLabel> paludis::DependencyMineLabel

A DependencyMineLabel specifies that a dependency is satisfied by ABIs equal to those being used to create the depending package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyPostLabelTag, DependencyTypeLabel> paludis::DependencyPostLabel

A DependencyPostLabel specifies build-time requirements for building a package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyPrimaryLabelTag, DependencyABIsLabel> paludis::DependencyPrimaryLabel

A DependencyPrimaryLabel specifies that a dependency can be satisfied by the primary ABI.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyRecommendedLabelTag, DependencySuggestLabel> paludis::DependencyRecommendedLabel

A DependencyRecommendedLabel specifies that a dependency is recommended.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyRequiredLabelTag, DependencySuggestLabel> paludis::DependencyRequiredLabel

A DependencyRequiredLabel specifies that a dependency is required.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyRunLabelTag, DependencyTypeLabel> paludis::DependencyRunLabel

A DependencyRunLabel specifies runtime requirements for building a package.

Since:
0.26

typedef ConcreteDependencyLabel<DependencySuggestedLabelTag, DependencySuggestLabel> paludis::DependencySuggestedLabel

A DependencySuggestLabel specifies that a dependency is suggested.

Since:
0.26

typedef Sequence<std::tr1::shared_ptr<const DependencySuggestLabel> > paludis::DependencySuggestLabelSequence

A collection of DependencySuggestLabel instances.

Since:
0.26

typedef Sequence<std::tr1::shared_ptr<const DependencySystemLabel> > paludis::DependencySystemLabelSequence

A collection of DependencySystemLabel instances.

Since:
0.26

typedef ConcreteDependencyLabel<DependencyTargetLabelTag, DependencySystemLabel> paludis::DependencyTargetLabel

A DependencyTargetLabel specifies target requirements for building a package.

Since:
0.26

typedef Sequence<std::tr1::shared_ptr<const DependencyTypeLabel> > paludis::DependencyTypeLabelSequence

A collection of DependencyTypeLabel instances.

Since:
0.26

typedef Set<DepTagEntry> paludis::DepListEntryTags

Tags attached to a DepListEntry.

typedef Formatter< PackageDepSpec, NamedSetDepSpec > paludis::SetSpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a SetSpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, PackageDepSpec, BlockDepSpec, NamedSetDepSpec, DependencyLabelsDepSpec > paludis::DependencySpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a DependencySpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, PlainTextDepSpec, PlainTextLabelDepSpec > paludis::PlainTextSpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a RestrictSpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, PackageDepSpec > paludis::ProvideSpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a ProvideSpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, SimpleURIDepSpec > paludis::SimpleURISpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a SimpleURISpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, FetchableURIDepSpec, URILabelsDepSpec > paludis::FetchableURISpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a FetchableURISpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, LicenseDepSpec > paludis::LicenseSpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a LicenseSpecTree.

Since:
0.26

typedef Formatter< ConditionalDepSpec, PlainTextDepSpec, SimpleURIDepSpec, FetchableURIDepSpec, LicenseDepSpec, PackageDepSpec, BlockDepSpec, URILabelsDepSpec, DependencyLabelsDepSpec, NamedSetDepSpec, PlainTextLabelDepSpec > paludis::GenericSpecTree::ItemFormatter [inherited]

A formatter that can handle any formattable type found in a GenericSpecTree.

Since:
0.26

typedef LabelsDepSpec<URILabelVisitorTypes> paludis::URILabelsDepSpec

A URILabelsDepSpec represents labels in a FetchableURISpecTree.

Since:
0.26

typedef Options<UserPackageDepSpecOption> paludis::UserPackageDepSpecOptions

Options for parse_user_package_dep_spec.

Since:
0.26
Examples:
example_dep_spec.cc.

typedef Sequence<VersionRequirement> paludis::VersionRequirements

A collection of VersionRequirement instances, usually for a PackageDepSpec.

See also:
PackageDepSpec


Enumeration Type Documentation

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_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_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.


Function Documentation

PartiallyMadePackageDepSpec paludis::make_package_dep_spec (  ) 

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

Write a VersionRequirementsMode to a stream.

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 NamedSetDepSpec &   
)

A NamedSetDepSpec 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 LicenseDepSpec &   
)

A LicenseDepSpec 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 SimpleURIDepSpec &   
)

A SimpleURIDepSpec can be written to an ostream.

Since:
0.26

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 URILabelsDepSpec &   
)

A URILabelsDepSpec can be written to an ostream.

Since:
0.26
A DependencyLabelsDepSpec can be written to an ostream.

Since:
0.26

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

A PackageDepSpec can be written to an ostream.

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

A PlainTextDepSpec can be written to an ostream.

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

An AdditionalPackageDepSpecRequirement can be written to an ostream.

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

A DependencyLabel can be written to a stream.

Since:
0.26

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

A URILabel can be written to a stream.

Since:
0.26

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.


Generated on Sun Nov 30 23:01:32 2008 for paludis by  doxygen 1.5.5