paludis::ConditionalDepSpec Class Reference
[Dependency specifications]

#include <dep_spec.hh>

Inheritance diagram for paludis::ConditionalDepSpec:

paludis::DepSpec paludis::PrivateImplementationPattern< C_ > paludis::CloneUsingThis< Base_, Child_ > paludis::PrivateImplementationPattern< C_ > paludis::MetadataKeyHolder paludis::Cloneable< T_ > paludis::Cloneable< Base_ > paludis::PrivateImplementationPattern< C_ >

List of all members.

Basic operations

 ConditionalDepSpec (const std::tr1::shared_ptr< const ConditionalDepSpecData > &)
 ConditionalDepSpec (const ConditionalDepSpec &)
 ~ConditionalDepSpec ()

Public Member Functions

virtual const ConditionalDepSpecas_conditional_dep_spec () const
bool condition_met () const PALUDIS_ATTRIBUTE((warn_unused_result))
bool condition_meetable () const PALUDIS_ATTRIBUTE((warn_unused_result))
const std::tr1::shared_ptr
< const ConditionalDepSpecData
data () const PALUDIS_ATTRIBUTE((warn_unused_result))

Protected Member Functions

virtual void need_keys_added () const
virtual void clear_metadata_keys () const

Friends

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


Detailed Description

Represents a dependency spec whose children should only be considered upon a certain condition (for example, a use dependency block).

Since:
0.26
Examples:

example_formatter.cc.


Member Function Documentation

virtual void paludis::ConditionalDepSpec::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.

virtual void paludis::ConditionalDepSpec::clear_metadata_keys (  )  const [protected, virtual]

Clear all MetadataKey instances added using add_metadata_key.

Reimplemented from paludis::MetadataKeyHolder.

virtual const ConditionalDepSpec* paludis::ConditionalDepSpec::as_conditional_dep_spec (  )  const [virtual]

Return us as a ConditionalDepSpec, or 0 if we are not a ConditionalDepSpec.

Reimplemented from paludis::DepSpec.

bool paludis::ConditionalDepSpec::condition_met (  )  const

Is our condition met?

This takes into account inverses etc.

bool paludis::ConditionalDepSpec::condition_meetable (  )  const

Is our condition meetable?

This takes into account inverses, masks, forces etc.

const std::tr1::shared_ptr<const ConditionalDepSpecData> paludis::ConditionalDepSpec::data (  )  const

Fetch our data.

This shouldn't generally be used by clients, but some repositories use it to gain access to additional data stored in the ConditionalDepSpecData.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const ConditionalDepSpec  
) [friend]

A ConditionalDepSpec can be written to an ostream.

Since:
0.26


The documentation for this class was generated from the following file:
Generated on Mon Sep 21 10:36:10 2009 for paludis by  doxygen 1.5.4