HOPS
HOPS class reference
Namespaces | Typedefs | Functions
MHO_PythonBackendSelector.hh File Reference

Small bridge that lets the (pybind-free) applications obtain a Python control-file evaluator without referencing the embedded or subprocess backend classes directly. More...

#include <functional>
#include "MHO_JSONHeaderWrapper.hh"
#include "MHO_ParameterStore.hh"

Go to the source code of this file.

Namespaces

 hops
 

Typedefs

using hops::MHO_PythonControlEvaluatorFn = std::function< bool(MHO_ParameterStore *, const mho_json &, mho_json &) >
 

Functions

MHO_PythonControlEvaluatorFn hops::MakePythonControlEvaluator ()
 Build the Python control-file evaluator for the compiled backend. More...
 

Detailed Description

Small bridge that lets the (pybind-free) applications obtain a Python control-file evaluator without referencing the embedded or subprocess backend classes directly.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du

The applications do NOT receive the USE_EMBEDDED_PYTHON / USE_PYTHON_SUBPROCESS compile definitions and do NOT link the python backends (those live behind MHO_OptionalPlugins, linked PRIVATE by MHO_PluginManagement). This factory function is compiled inside MHO_PluginManagement, so it sees the backend defs and resolves the backend symbols there, returning a plain std::function the app can hand to MHO_FringePass::SetPythonControlEvaluator().