paludis Version 3.0.2
The one true package mangler
paludis::ExcludeRequirement Class Reference

#include <user_dep_spec.hh>

Inheritance diagram for paludis::ExcludeRequirement:

Public Member Functions

const std::pair< bool, std::string > requirement_met (const Environment *const, const ChangedChoices *, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, const ChangedChoices *const) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_human_string (const std::shared_ptr< const PackageID > &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::string as_raw_string () const override PALUDIS_ATTRIBUTE((warn_unused_result))
Tribool accumulate_changes_to_make_met (const Environment *const, const ChangedChoices *const, const std::shared_ptr< const PackageID > &, const std::shared_ptr< const PackageID > &, ChangedChoices &) const override PALUDIS_ATTRIBUTE((warn_unused_result))
Public Member Functions inherited from paludis::AdditionalPackageDepSpecRequirement
 AdditionalPackageDepSpecRequirement (const AdditionalPackageDepSpecRequirement &)=delete
AdditionalPackageDepSpecRequirement & operator= (const AdditionalPackageDepSpecRequirement &)=delete

Basic operations

 ExcludeRequirement (const PackageDepSpec &)

Detailed Description

An exclude requirement for a PackageDepSpec.

Member Function Documentation

◆ accumulate_changes_to_make_met()

Tribool paludis::ExcludeRequirement::accumulate_changes_to_make_met ( const Environment * const ,
const ChangedChoices * const maybe_changes_to_owner,
const std::shared_ptr< const PackageID > & ,
const std::shared_ptr< const PackageID > & spec_id,
ChangedChoices &  ) const
overridevirtual

If possible, indicate which choices to change to make our requirement met for a particular ID.

Verifies that the ID has the appropriate choice, and that that choice isn't locked.

Returns true for changes made, false for not possible, indeterminate for nothing needs changing.

Parameters
spec_idThe PackageID the spec comes from. May be null. Used for [use=] style dependencies.
Since
0.51
0.55 returns Tribool
0.58 takes spec_id

Implements paludis::AdditionalPackageDepSpecRequirement.

References accumulate_changes_to_make_met(), and PALUDIS_ATTRIBUTE.

Referenced by accumulate_changes_to_make_met().

◆ as_human_string()

const std::string paludis::ExcludeRequirement::as_human_string ( const std::shared_ptr< const PackageID > & spec_id) const
overridevirtual

Return a human readable string representation of ourself.

Parameters
spec_idThe PackageID the spec comes from. May be null. Used for [use=] style dependencies.
Since
0.58 takes spec_id

Implements paludis::AdditionalPackageDepSpecRequirement.

References PALUDIS_ATTRIBUTE.

◆ as_raw_string()

const std::string paludis::ExcludeRequirement::as_raw_string ( ) const
overridevirtual

Return a raw string representation of ourself.

Implements paludis::AdditionalPackageDepSpecRequirement.

References PALUDIS_ATTRIBUTE.

◆ requirement_met()

const std::pair< bool, std::string > paludis::ExcludeRequirement::requirement_met ( const Environment * const ,
const ChangedChoices * maybe_changes_to_owner,
const std::shared_ptr< const PackageID > & target_id,
const std::shared_ptr< const PackageID > & spec_id,
const ChangedChoices * const maybe_changes_to_target ) const
overridevirtual

Is our requirement met for a given PackageID?

The string in the return type might be a description of why the requirement was not met. Sometimes better messages can be given than simply the return value of as_human_string() when the ID to be matched is known. If the bool is true, the string is meaningless.

Parameters
spec_idThe PackageID the spec comes from. May be null. Used for [use=] style dependencies.
Since
0.44 returns pair<bool, std::string>
0.51 takes optional ChangedChoices arguments
0.58 takes id by shared_ptr
0.58 takes spec_id

Implements paludis::AdditionalPackageDepSpecRequirement.

References PALUDIS_ATTRIBUTE.


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