PPL Logo

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

The spanning tree build strategy interface. More...

#include <spanningTreeStrategy.h>

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

Inheritance graph
[legend]

Public Member Functions

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

Detailed Description

template<typename Iterator, typename ValueType>
class topo::SpanningTreeStrategy< Iterator, ValueType >

The spanning tree build strategy interface.

Partitions and reorders a collection of tree members, and returns information about children and their sub-trees.

Warning:
: User code should only specify typename Iterator. ValType is automatically given the default value based on Iterator and should not be specified by the user.
Todo:
: If compile-time asserts become available in the charm world, then assert that ValType is nothing illegal in the appropriate subclasses. Better still, (if possible) let the subclass remain abstract and implement buildNextGen only for the appropriate partial specializations of ValType.

Definition at line 169 of file spanningTreeStrategy.h.


Constructor & Destructor Documentation

template<typename Iterator, typename ValueType>
virtual topo::SpanningTreeStrategy< Iterator, ValueType >::~SpanningTreeStrategy (  )  [inline, virtual]

Definition at line 172 of file spanningTreeStrategy.h.


Member Function Documentation

template<typename Iterator, typename ValueType>
virtual SpanningTreeVertex* topo::SpanningTreeStrategy< Iterator, ValueType >::buildNextGen ( const Iterator  firstVtx,
const Iterator  beyondLastVtx,
const int  maxBranches = 2 
) [pure virtual]


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

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