Belle II Software  release-05-02-19
RegisterPythonModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Christian Pulvermacher *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 namespace Belle2 {
23  class BoostPythonModuleProxy {
24  public:
26  BoostPythonModuleProxy(const char* name, PyObject * (*initFunc)(), bool auto_import = false);
27  };
28 
38 #define REGISTER_PYTHON_MODULE(moduleName) Belle2::BoostPythonModuleProxy boostPythonModuleProxy##moduleName(#moduleName, PyInit_##moduleName);
39 
76 #define REGISTER_PYTHON_MODULE_AUTOIMPORT(moduleName) Belle2::BoostPythonModuleProxy boostPythonModuleProxy##moduleName(#moduleName, PyInit_##moduleName, true);
77 
78 }
Belle2::BoostPythonModuleProxy::BoostPythonModuleProxy
BoostPythonModuleProxy(const char *name, PyObject *(*initFunc)(), bool auto_import=false)
Don't construct this object yourself, use the REGISTER_PYTHON_MODULE macro instead.
Definition: RegisterPythonModule.cc:20
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19