waLBerla 7.3
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_; \
}