#include <InstallOrder.h>
Public Types | |
| typedef std::list< constPMSolvablePtr > | SolvableList |
Public Member Functions | |
| InstallOrder (const PkgSet &toinstall, const PkgSet &installed) | |
| SolvableList | computeNextSet () |
| void | setInstalled (constPMSolvablePtr ptr) |
| void | setInstalled (const SolvableList &list) |
| void | startrdfs () |
| void | init () |
| const SolvableList & | getTopSorted () const |
| const void | printAdj (std::ostream &os, bool reversed=false) const |
Private Types | |
| typedef std::map< constPMSolvablePtr, SolvableList > | Graph |
| typedef std::map< constPMSolvablePtr, NodeInfo > | Nodes |
Private Member Functions | |
| void | rdfsvisit (constPMSolvablePtr node) |
Private Attributes | |
| PkgSet | _toinstall |
| PkgSet | _installed |
| Graph | _graph |
| Graph | _rgraph |
| Nodes | _nodes |
| unsigned | _rdfstime |
| SolvableList | _topsorted |
| bool | _dirty |
| unsigned | _numrun |
Classes | |
| struct | NodeInfo |
There are two Interfaces:
|
|
adjacency list type |
|
|
|
|
|
|
|
||||||||||||
|
Constructor
|
|
|
Compute a list of Solvables which have no requirements and can be installed in parallel without conflicts. Use setInstalled to make computation of a different set possible |
|
|
compute topological sorted list
|
|
|
Initialize data structures. Must be called before any other function. |
|
||||||||||||
|
|
|
|
|
|
|
like above, for convenience |
|
|
set a Solvable as installed, computeNextSet is able to compute a new set then |
|
|
recoursive depth first search, build internal trees |
|
|
|
|
|
adjacency list, package -> requirements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reversed graph, package -> referers |
|
|
|
|
|
|
1.4.4