waLBerla 7.2
Loading...
Searching...
No Matches
MplHelpers.h File Reference

Detailed Description

#include "domain_decomposition/IBlock.h"
#include <functional>
#include <map>

Classes

struct  walberla::python_coupling::NonCopyableWrap< T >
 
class  walberla::python_coupling::Dispatcher< Exporter, FieldTypes >
 

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
 
namespace  walberla::python_coupling
 

Macros

#define FunctionExporterClass(functionName, functionSignature)
 

Functions

template<typename F >
void walberla::python_coupling::for_each_noncopyable_type (const F &)
 
template<typename Type , typename... Types, typename F >
void walberla::python_coupling::for_each_noncopyable_type (const F &f)
 

Macro Definition Documentation

◆ FunctionExporterClass

#define FunctionExporterClass ( functionName,
functionSignature )
Value:
struct Exporter_##functionName \
{ \
using FunctionType = std::function< functionSignature >;\
Exporter_##functionName( const IBlock * block, ConstBlockDataID id )\
: block_( block ), blockDataID_( id )\
{}\
template< typename FieldType > \
{ \
if ( block_->isDataClassOrSubclassOf< FieldType > ( blockDataID_ ) ) \
result = static_cast<FunctionType>( functionName< FieldType > ); \
} \
FunctionType result; \
const IBlock * block_; \
const ConstBlockDataID blockDataID_; \
}