Arbiter
Dependency manager library that supports decentralization
Public Member Functions | Public Attributes | List of all members
ArbiterResolver Struct Referencefinal

A dependency resolver which contains context about how to evaluate the dependency graph. More...

Collaboration diagram for ArbiterResolver:
[legend]

Public Member Functions

 ArbiterResolver (ArbiterResolverBehaviors behaviors, ArbiterDependencyList dependencyList, std::shared_ptr< const void > context)
 
 ArbiterResolver (const ArbiterResolver &)=delete
 
std::vector< ArbiterSelectedVersionavailableVersionsSatisfying (const ArbiterProjectIdentifier &project, const ArbiterRequirement &requirement) noexcept(false)
 Computes a list of available versions for the specified project which satisfy the given requirement. More...
 
std::unique_ptr< Arbiter::Baseclone () const override
 
std::ostream & describe (std::ostream &os) const override
 
ArbiterSelectedVersionList fetchAvailableVersions (const ArbiterProjectIdentifier &project) noexcept(false)
 Fetches the list of available versions for the given project. More...
 
ArbiterDependencyList fetchDependencies (const ArbiterProjectIdentifier &project, const ArbiterSelectedVersion &version) noexcept(false)
 Fetches the list of dependencies for the given project and version. More...
 
Arbiter::Optional< ArbiterSelectedVersionfetchSelectedVersionForMetadata (const Arbiter::SharedUserValue< ArbiterSelectedVersion > &metadata)
 Fetches a selected version for the given metadata string. More...
 
bool operator!= (const Base &other) const
 
ArbiterResolveroperator= (const ArbiterResolver &)=delete
 
bool operator== (const Arbiter::Base &other) const override
 
ArbiterResolvedDependencyGraph resolve () noexcept(false)
 Attempts to resolve all dependencies. More...
 

Public Attributes

std::shared_ptr< const void > _context
 

Detailed Description

A dependency resolver which contains context about how to evaluate the dependency graph.

Definition at line 18 of file Resolver.h.

Constructor & Destructor Documentation

§ ArbiterResolver() [1/2]

ArbiterResolver::ArbiterResolver ( ArbiterResolverBehaviors  behaviors,
ArbiterDependencyList  dependencyList,
std::shared_ptr< const void >  context 
)

Definition at line 23 of file Resolver.h.

§ ArbiterResolver() [2/2]

ArbiterResolver::ArbiterResolver ( const ArbiterResolver )
delete

Member Function Documentation

§ availableVersionsSatisfying()

std::vector<ArbiterSelectedVersion> ArbiterResolver::availableVersionsSatisfying ( const ArbiterProjectIdentifier project,
const ArbiterRequirement requirement 
)
noexcept

Computes a list of available versions for the specified project which satisfy the given requirement.

§ clone()

std::unique_ptr<Arbiter::Base> ArbiterResolver::clone ( ) const
overridevirtual

Implements Arbiter::Base.

§ describe()

std::ostream& ArbiterResolver::describe ( std::ostream &  os) const
overridevirtual

Implements Arbiter::Base.

§ fetchAvailableVersions()

ArbiterSelectedVersionList ArbiterResolver::fetchAvailableVersions ( const ArbiterProjectIdentifier project)
noexcept

Fetches the list of available versions for the given project.

Returns the version list or throws an exception.

§ fetchDependencies()

ArbiterDependencyList ArbiterResolver::fetchDependencies ( const ArbiterProjectIdentifier project,
const ArbiterSelectedVersion version 
)
noexcept

Fetches the list of dependencies for the given project and version.

Returns the dependency list or throws an exception.

§ fetchSelectedVersionForMetadata()

Arbiter::Optional<ArbiterSelectedVersion> ArbiterResolver::fetchSelectedVersionForMetadata ( const Arbiter::SharedUserValue< ArbiterSelectedVersion > &  metadata)

Fetches a selected version for the given metadata string.

Returns the selected version if found, or else None.

§ operator!=()

bool Arbiter::Base::operator!= ( const Base other) const
inherited

Definition at line 28 of file Types.h.

§ operator=()

ArbiterResolver& ArbiterResolver::operator= ( const ArbiterResolver )
delete

§ operator==()

bool ArbiterResolver::operator== ( const Arbiter::Base other) const
overridevirtual

Implements Arbiter::Base.

§ resolve()

ArbiterResolvedDependencyGraph ArbiterResolver::resolve ( )
noexcept

Attempts to resolve all dependencies.

Member Data Documentation

§ _context

std::shared_ptr<const void> ArbiterResolver::_context

Definition at line 21 of file Resolver.h.


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