KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Classes | Public Member Functions | List of all members
Kratos::RegisteredComponentLookup< TVariables > Class Template Reference

A class for calling a functor on a variable specified by it's registered name. More...

#include <registered_component_lookup.h>

Collaboration diagram for Kratos::RegisteredComponentLookup< TVariables >:

Public Member Functions

 RegisteredComponentLookup (std::string const &rName)
 
template<template< typename T > class TFunctor, typename ... Targs>
void Execute (Targs &... args)
 

Detailed Description

template<typename ... TVariables>
class Kratos::RegisteredComponentLookup< TVariables >

A class for calling a functor on a variable specified by it's registered name.

Example:

template <typename TVariable> class CopyVariableFunctor { public: void operator()(TVariable const& rVariable, DataValueContainer const& rSrc) DataValueContainer& rDest) { rDest[rVariable] = rSrc[rVariable]; } };

RegisteredComponentLookup<Variable<double>>("PRESSURE").Execute<CopyVariableFunctor>(rSrc, rDest);

Constructor & Destructor Documentation

◆ RegisteredComponentLookup()

template<typename ... TVariables>
Kratos::RegisteredComponentLookup< TVariables >::RegisteredComponentLookup ( std::string const &  rName)
inlineexplicit

Member Function Documentation

◆ Execute()

template<typename ... TVariables>
template<template< typename T > class TFunctor, typename ... Targs>
void Kratos::RegisteredComponentLookup< TVariables >::Execute ( Targs &...  args)
inline

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