ExecutionTree.h File Reference

Detailed Description

#include "core/DataTypes.h"
#include "timeloop/ITimeloop.h"
#include "core/timing/TimingTree.h"
#include "domain_decomposition/StructuredBlockStorage.h"
#include <deque>
#include <string>
#include <initializer_list>
#include <functional>
#include "ExecutionTree.impl.h"

Classes

class  walberla::executiontree::Functor< FunctorType >
 
class  walberla::executiontree::SharedFunctor< FunctorType >
 
class  walberla::executiontree::Sweep< FunctorType >
 
class  walberla::executiontree::SharedSweep< FunctorType >
 
class  walberla::executiontree::IFunctionNode
 
class  walberla::executiontree::Functor< FunctorType >
 
class  walberla::executiontree::EveryNth
 
class  walberla::executiontree::Sequence
 
class  walberla::executiontree::Loop
 

Namespaces

 walberla
 \file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.u.de
 
 walberla::executiontree
 

Typedefs

using walberla::executiontree::IFunctionNodePtr = shared_ptr< IFunctionNode >
 
using walberla::executiontree::TimingTreePtr = shared_ptr< WcTimingTree >
 

Functions

template<typename FunctorType >
IFunctionNodePtr walberla::executiontree::functor (FunctorType t, const std::string &name="", const shared_ptr< WcTimingTree > &timingTree=nullptr)
 Creates a functor node around any callable object. More...
 
shared_ptr< Sequence > walberla::executiontree::sequence (std::initializer_list< IFunctionNodePtr > initializerList, const std::string &name="", const TimingTreePtr &timingTree=nullptr)
 Combine multiple task nodes into a (named) sequence. More...
 
shared_ptr< Sequence > walberla::executiontree::parallelSequence (std::initializer_list< IFunctionNodePtr > initializerList, const std::string &name="", const TimingTreePtr &timingTree=nullptr)
 All subtasks of this region are executed in parallel using OpenMP. More...
 
shared_ptr< EveryNth > walberla::executiontree::everyNth (const IFunctionNodePtr &node, uint_t interval, bool onFirst=false, uint_t startValue=0)
 Note that runs its contents only every n'th call. More...
 
shared_ptr< Loop > walberla::executiontree::loop (const IFunctionNodePtr &body, uint_t iterations, bool logTimeStep=true)
 Runs the child node for the given amount of iterations. More...
 
std::ostream & walberla::executiontree::operator<< (std::ostream &os, const IFunctionNode &node)