PPL Logo

util/spanningTreeStrategy.h File Reference

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.


Generated on Mon Sep 21 08:12:17 2020 for Charm++ by  doxygen 1.5.5