|
Arbiter
Dependency manager library that supports decentralization
|
Represents a fully consistent, resolved dependency graph, preserving relationships between dependencies. More...
Classes | |
| struct | NodeValue |
Public Types | |
| using | EdgeMap = std::unordered_map< NodeKey, std::set< NodeKey >> |
| using | NodeKey = ArbiterProjectIdentifier |
| using | NodeMap = std::unordered_map< NodeKey, NodeValue > |
Public Member Functions | |
| void | addNode (ArbiterResolvedDependency node, const ArbiterRequirement &initialRequirement, const Arbiter::Optional< ArbiterProjectIdentifier > &dependent) noexcept(false) |
Attempts to add the given node into the graph, as a dependency of dependent if specified. More... | |
| std::unique_ptr< Arbiter::Base > | clone () const override |
| ArbiterResolvedDependencyInstaller | createInstaller () const |
| std::ostream & | describe (std::ostream &os) const override |
| const EdgeMap & | edges () const |
| const NodeMap & | nodes () const |
| bool | operator!= (const Base &other) const |
| bool | operator== (const Arbiter::Base &other) const override |
| ArbiterResolvedDependency | resolveNode (const NodeMap::key_type &key) const |
Static Public Member Functions | |
| static ArbiterResolvedDependency | resolveNode (const NodeMap::value_type &node) |
Represents a fully consistent, resolved dependency graph, preserving relationships between dependencies.
| using ArbiterResolvedDependencyGraph::EdgeMap = std::unordered_map<NodeKey, std::set<NodeKey>> |
| using ArbiterResolvedDependencyGraph::NodeMap = std::unordered_map<NodeKey, NodeValue> |
|
noexcept |
Attempts to add the given node into the graph, as a dependency of dependent if specified.
If the given node refers to a project which already exists in the graph, this method will attempt to intersect the version requirements of both.
Throws an exception if this addition would make the graph inconsistent.
|
overridevirtual |
Implements Arbiter::Base.
| ArbiterResolvedDependencyInstaller ArbiterResolvedDependencyGraph::createInstaller | ( | ) | const |
|
overridevirtual |
Implements Arbiter::Base.
| const EdgeMap& ArbiterResolvedDependencyGraph::edges | ( | ) | const |
| const NodeMap& ArbiterResolvedDependencyGraph::nodes | ( | ) | const |
|
inherited |
|
overridevirtual |
Implements Arbiter::Base.
|
static |
| ArbiterResolvedDependency ArbiterResolvedDependencyGraph::resolveNode | ( | const NodeMap::key_type & | key | ) | const |
1.8.12