waLBerla 7.2
Loading...
Searching...
No Matches
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::IFunctionNode
 
class  walberla::executiontree::Functor< FunctorType >
 
class  walberla::executiontree::EveryNth
 
class  walberla::executiontree::Sequence
 
class  walberla::executiontree::Loop
 

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
 
namespace  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.
 
shared_ptr< Sequencewalberla::executiontree::sequence (std::initializer_list< IFunctionNodePtr > initializerList, const std::string &name="", const TimingTreePtr &timingTree=nullptr)
 Combine multiple task nodes into a (named) sequence.
 
shared_ptr< Sequencewalberla::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.
 
shared_ptr< EveryNthwalberla::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.
 
shared_ptr< Loopwalberla::executiontree::loop (const IFunctionNodePtr &body, uint_t iterations, bool logTimeStep=true)
 Runs the child node for the given amount of iterations.
 
std::ostream & walberla::executiontree::operator<< (std::ostream &os, const IFunctionNode &node)