Belle II Software  release-08-01-10
RegisterPythonModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 namespace Belle2 {
22  public:
24  BoostPythonModuleProxy(const char* name, PyObject * (*initFunc)(), bool auto_import = false);
25  };
26 
36 #define REGISTER_PYTHON_MODULE(moduleName) Belle2::BoostPythonModuleProxy boostPythonModuleProxy##moduleName(#moduleName, PyInit_##moduleName);
37 
74 #define REGISTER_PYTHON_MODULE_AUTOIMPORT(moduleName) Belle2::BoostPythonModuleProxy boostPythonModuleProxy##moduleName(#moduleName, PyInit_##moduleName, true);
76 }
Proxy class to register python modules (the things you can 'import').
BoostPythonModuleProxy(const char *name, PyObject *(*initFunc)(), bool auto_import=false)
Don't construct this object yourself, use the REGISTER_PYTHON_MODULE macro instead.
Abstract base class for different kinds of events.