26#include <pybind11/pybind11.h>
29namespace py = pybind11;
32using fct_sig = std::function<void(py::module &)>;
45#define _internal_register_pybind_init(funcname, lambda_name, varname) \
46 static void funcname(py::module &varname); \
47 static shambase::call_lambda lambda_name([]() { \
48 register_pybind_init_func(funcname); \
50 static void funcname(py::module &varname)
69#define ON_PYTHON_INIT \
70 _internal_register_pybind_init( \
71 __shamrock_unique_name(pybind_), __shamrock_unique_name(pybind_class_obj_), root_module)
Call a lambda at static or local scope construction time.
std::function< void(py::module &)> fct_sig
alias to pybind11 namespace
void register_pybind_init_func(fct_sig)
Register a python module init function to be ran on init.
Provides macros for generating unique identifiers at compile time.