PPL Logo

topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType > Class Template Reference

A concrete tree builder that is NOT topology aware. More...

#include <treeStrategy_topoUnaware.h>

Inheritance diagram for topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType >:

Inheritance graph
[legend]
Collaboration diagram for topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType >:

Collaboration graph
[legend]

Public Member Functions

virtual SpanningTreeVertexbuildNextGen (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2)
 Concrete builders should implement this (preferably only for the appropriate specializations).

Detailed Description

template<typename Iterator, typename ValueType = typename std::iterator_traits<Iterator>::value_type>
class topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType >

A concrete tree builder that is NOT topology aware.

Randomly selects child vertices and sub-trees etc. It should hence be, resource-wise, quite cheap. Use in situations when topology info is not available or a topo-aware tree build is costly (eg. early generations of really large multicast trees).

Technically, you are supposed to pass in a container of PEs or SpanningTreeVertices. However, since this class simply chops up the indices and makes no assumptions on the data in the container, it is possible to abuse this and randomly divvy up any container across numBranches.

Definition at line 26 of file treeStrategy_topoUnaware.h.


Member Function Documentation

template<typename Iterator, typename ValueType = typename std::iterator_traits<Iterator>::value_type>
virtual SpanningTreeVertex* topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType >::buildNextGen ( const Iterator  firstVtx,
const Iterator  beyondLastVtx,
const int  maxBranches = 2 
) [inline, virtual]

Concrete builders should implement this (preferably only for the appropriate specializations).

Implements topo::SpanningTreeStrategy< Iterator >.

Definition at line 29 of file treeStrategy_topoUnaware.h.

References topo::impl::buildNextGen_topoUnaware().

Here is the call graph for this function:


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

Generated on Mon Sep 21 08:34:30 2020 for Charm++ by  doxygen 1.5.5