
Go to the source code of this file.
Namespaces | |
| namespace | std |
| namespace | topo |
| namespace | topo::impl |
Data Structures | |
| struct | std::iterator_traits< Iterator > |
| struct | std::std::iterator_traits< T * > |
| class | topo::SpanningTreeStrategy< Iterator, ValueType > |
| The spanning tree build strategy interface. More... | |
Typedefs | |
| typedef int | topo::vtxType |
| Alias for the actual data type of a vertex id (PE/node number). | |
Functions | |
| template<class Iterator> | |
| int | std::distance (Iterator first, Iterator last) |
| template<typename Iterator> | |
| SpanningTreeStrategy< Iterator > * | topo::getSpanningTreeStrategy (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches) |
| Tiny factory method that returns a tree construction strategy that it thinks is best (based on inputs, the machine's network topology info etc). | |
| template<typename Iterator> | |
| void | topo::impl::buildSpanningTree (SpanningTreeVertex *dispatchTag, const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches, SpanningTreeStrategy< Iterator > *bldr) |
| Tag dispatched function that does the actual work of building the complete spanning tree. | |
| template<typename Iterator> | |
| SpanningTreeVertex * | topo::buildSpanningTreeGeneration (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2) |
| Builds one generation of the spanning tree given a container of vertices with the tree root as the first element in the container. | |
| template<typename Iterator> | |
| SpanningTreeVertex * | topo::buildSpanningTreeGeneration (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches, SpanningTreeStrategy< Iterator > *bldr) |
| Facade function to hide all the template muck for the mainstream usecases. | |
| template<typename Iterator> | |
| void | topo::buildSpanningTree (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2) |
| Builds the complete spanning tree given a container of vertices with the tree root as the first element in the container. | |
| template<typename Iterator> | |
| void | topo::buildSpanningTree (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches, SpanningTreeStrategy< Iterator > *bldr) |
| Facade function to build a complete spanning tree given an input container of SpanningTreeVertex-es Uses tag-dispatching to ensure at compile-time that the input container holds only SpanningTreeVertex and nothing else. | |
1.5.5