Library of Assembled Shared Sources
Module Definitions

Detailed Description

Defining Python modules from C++ with classes, functions, and enums.

This module provides helper classes and macros to define Python modules that can contain C++ classes, functions, enums, and other objects exported to Python.

Module Components

A Python module can contain:

Usage Overview

To create a Python module, you typically use macros that work with ModuleDefinition:

// Define module
PY_DECLARE_MODULE_NAME_DOC(mymodule, "mymodule", "My example module")
// Add functions
PY_MODULE_FUNCTION(mymodule, myFunction)
// Add classes
PY_MODULE_CLASS(mymodule, MyClass)
// Add enums
PY_MODULE_ENUM(mymodule, MyEnum)
// Create module entrypoint for Python extension
#define PY_MODULE_ENUM(i_module, t_cppEnum)
Adds an enum definition to a Python module.
#define PY_MODULE_ENTRYPOINT(i_module)
Create a Python module initialization function using the module identifier as the function name.
#define PY_MODULE_FUNCTION(i_module, f_cppFunction)
Export a C++ free function to Python using the C++ function name (no documentation).
#define PY_DECLARE_MODULE_NAME_DOC(i_module, s_name, s_doc)
Declare and define a ModuleDefinition object representing a Python module.
#define PY_MODULE_CLASS(i_module, t_cppClass)
Add a Python class to a module.

The ModuleDefinition class is typically not used directly. Instead, use the provided macros in pyobject_macros.h that work with ModuleDefinition instances.

Data Structures

class  lass::python::ModuleDefinition
 Definition of a Python module. More...
 

Module Declaration Macros

These macros declare and define ModuleDefinition objects that represent Python modules.

They create the fundamental module object that serves as the container for all exported functions, classes, and constants.

#define PY_DECLARE_MODULE_NAME_DOC(i_module, s_name, s_doc)
 Declare and define a ModuleDefinition object representing a Python module.
 
#define PY_DECLARE_MODULE_NAME(i_module, s_name)
 Declare a module with name only (no documentation).
 
#define PY_DECLARE_MODULE_DOC(i_module, s_doc)
 Declare a module with documentation, using the identifier as the module name.
 
#define PY_DECLARE_MODULE(i_module)
 Declare a module with minimal setup (name derived from identifier, no documentation).
 

Module Entrypoint and Injection Macros

These macros handle module initialization, injection, and extension module creation.

They manage the Python module lifecycle from creation to registration with the Python interpreter.

If you're building a Python extension module (a .pyd or .so file), you will typically use the entrypoint macros to create the required PyInit_* function that Python calls:

// Declare module
PY_DECLARE_MODULE_NAME_DOC(mymodule, "mymodule", "My example module")
// Add functions and classes
// ...
// Create module entrypoint for Python extension

The injection macros are more low-level and can be used to create modules at runtime to be registered with an embedded Python interpreter.

#define PY_MODULE_ENTRYPOINT_NAME(i_module, i_name)
 Create a PyInit_* Python module initialization function with custom name.
 
#define PY_MODULE_ENTRYPOINT(i_module)
 Create a Python module initialization function using the module identifier as the function name.
 
#define PY_INJECT_MODULE(i_module)
 Inject a Python module so Python becomes aware of it.
 
#define PY_INJECT_MODULE_EX(i_module, s_moduleName, s_doc)
 
#define PY_INJECT_MODULE_NAME(i_module, s_moduleName)
 
#define PY_INJECT_MODULE_DOC(i_module, s_doc)
 
#define PY_EXTENSION_MODULE_DOC(i_module, f_injection, s_doc)
 Create an extension module with documentation.
 
#define PY_EXTENSION_MODULE(i_module, f_injection)
 Create an extension module (no documentation).
 
#define PY_EXTENSION_MODULE_EX(i_module, f_injection, s_doc)
 Inject a python module so Python is aware of it and produce all necessary code so a module can be used as extension of Python.
 

Module Constants and Objects Macros

These macros add constants, variables, and arbitrary Python objects to modules.

They provide different approaches for exposing C++ values and objects to Python.

#define PY_MODULE_INTEGER_CONSTANT(i_module, s_name, s_value)
 Add an integer constant to a Python module.
 
#define PY_MODULE_STRING_CONSTANT(i_module, s_name, s_value)
 Add a string constant to a Python module.
 
#define PY_INJECT_OBJECT_IN_MODULE_EX(o_object, i_module, s_objectName)
 Inject an arbitrary object into an already created module at runtime.
 
#define PY_INJECT_OBJECT_IN_MODULE(o_object, i_module)
 Inject an object using its C++ identifier as the Python name.
 
#define PY_MODULE_ADD_INTEGER_CONSTANT(i_module, s_name, v_value)
 
#define PY_MODULE_ADD_STRING_CONSTANT(i_module, s_name, s_value)
 

Basic Function Export Macros

These macros export C++ functions to Python with automatic type deduction and wrapper generation.

Use these for simple function exports where overloading is not an issue and automatic type deduction is sufficient.

#define PY_MODULE_PY_FUNCTION_EX(i_module, f_cppFunction, s_functionName, s_doc)
 Export a C++ function to Python without automatic wrapper generation.
 
#define PY_MODULE_FUNCTION_EX(i_module, f_cppFunction, s_functionName, s_doc, i_dispatcher)
 Export a C++ free function to Python with full control over overloading.
 
#define PY_MODULE_FUNCTION_NAME_DOC(i_module, f_cppFunction, s_name, s_doc)
 Export a C++ free function to Python with custom name and documentation.
 
#define PY_MODULE_FUNCTION_NAME(i_module, f_cppFunction, s_name)
 Export a C++ free function to Python with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_DOC(i_module, f_cppFunction, s_doc)
 Export a C++ free function to Python using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION(i_module, f_cppFunction)
 Export a C++ free function to Python using the C++ function name (no documentation).
 

Function Cast Export Macros (Deprecated)

Deprecated
These macros are deprecated. Instead of using casting macros, define explicit wrapper functions with the desired signatures and export those directly using the basic function export macros.

These macros export C++ functions to Python with explicit type casting and support for default parameters. They create wrapper functions that handle type conversions and allow exporting functions with default parameters by omitting trailing parameters.

#define PY_MODULE_FUNCTION_CAST_EX_0(i_module, f_cppFunction, t_return, s_functionName, s_doc, i_dispatcher)
 Exports a C++ free functions to Python with on the fly casting on return type and parameters, including omission of default parameters.
 
#define PY_MODULE_FUNCTION_CAST_EX_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_EX_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc, i_dispatcher)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_0(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc)
 
#define PY_MODULE_FUNCTION_CAST_NAME_0(i_module, f_cppFunction, t_return, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_1(i_module, f_cppFunction, t_return, t_P1, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName)
 
#define PY_MODULE_FUNCTION_CAST_NAME_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName)
 

Type-Qualified Function Export Macros

These macros export C++ functions to Python with explicit type qualification to resolve function overload ambiguities.

They provide fine-grained control over function signatures and are essential when exporting overloaded functions that would otherwise be ambiguous.

The macros are organized in layers:

#define PY_MODULE_FUNCTION_QUALIFIED_EX(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc, i_dispatcher)
 Export a C++ free function to Python with explicit type qualification to resolve ambiguities.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_0(i_module, f_cppFunction, t_return, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 0-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 1-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 2-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 3-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 4-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 5-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 6-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 7-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 8-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 9-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 10-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 11-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 12-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 13-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 14-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_EX_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc, i_dispatcher)
 Export a C++ function with type qualification for 15-parameter functions with full control.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
 Export a C++ function with type qualification and custom name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
 Export a C++ function with type qualification for 0-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc)
 Export a C++ function with type qualification for 1-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc)
 Export a C++ function with type qualification for 2-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc)
 Export a C++ function with type qualification for 3-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc)
 Export a C++ function with type qualification for 4-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc)
 Export a C++ function with type qualification for 5-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc)
 Export a C++ function with type qualification for 6-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc)
 Export a C++ function with type qualification for 7-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc)
 Export a C++ function with type qualification for 8-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc)
 Export a C++ function with type qualification for 9-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc)
 Export a C++ function with type qualification for 10-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc)
 Export a C++ function with type qualification for 11-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc)
 Export a C++ function with type qualification for 12-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc)
 Export a C++ function with type qualification for 13-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc)
 Export a C++ function with type qualification for 14-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc)
 Export a C++ function with type qualification for 15-parameter functions with custom name and documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME(i_module, f_cppFunction, t_return, t_params, s_functionName)
 Export a C++ function with type qualification and custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_0(i_module, f_cppFunction, t_return, s_functionName)
 Export a C++ function with type qualification for 0-parameter functions and custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_1(i_module, f_cppFunction, t_return, t_P1, s_functionName)
 Export a C++ function with type qualification for 1-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName)
 Export a C++ function with type qualification for 2-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName)
 Export a C++ function with type qualification for 3-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName)
 Export a C++ function with type qualification for 4-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName)
 Export a C++ function with type qualification for 5-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName)
 Export a C++ function with type qualification for 6-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName)
 Export a C++ function with type qualification for 7-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName)
 Export a C++ function with type qualification for 8-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName)
 Export a C++ function with type qualification for 9-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName)
 Export a C++ function with type qualification for 10-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName)
 Export a C++ function with type qualification for 11-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName)
 Export a C++ function with type qualification for 12-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName)
 Export a C++ function with type qualification for 13-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName)
 Export a C++ function with type qualification for 14-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName)
 Export a C++ function with type qualification for 15-parameter functions with custom name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC(i_module, f_cppFunction, t_return, t_params, s_doc)
 Export a C++ function with type qualification using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_0(i_module, f_cppFunction, t_return, s_doc)
 Export a C++ function with type qualification for 0-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_doc)
 Export a C++ function with type qualification for 1-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_doc)
 Export a C++ function with type qualification for 2-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_doc)
 Export a C++ function with type qualification for 3-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
 Export a C++ function with type qualification for 4-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
 Export a C++ function with type qualification for 5-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
 Export a C++ function with type qualification for 6-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
 Export a C++ function with type qualification for 7-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
 Export a C++ function with type qualification for 8-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_doc)
 Export a C++ function with type qualification for 9-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_doc)
 Export a C++ function with type qualification for 10-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_doc)
 Export a C++ function with type qualification for 11-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_doc)
 Export a C++ function with type qualification for 12-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_doc)
 Export a C++ function with type qualification for 13-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_doc)
 Export a C++ function with type qualification for 14-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_doc)
 Export a C++ function with type qualification for 15-parameter functions using the C++ function name with documentation.
 
#define PY_MODULE_FUNCTION_QUALIFIED(i_module, f_cppFunction, t_return, t_params)
 Export a C++ function with type qualification using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_0(i_module, f_cppFunction, t_return)
 Export a C++ function with type qualification for 0-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_1(i_module, f_cppFunction, t_return, t_P1)
 Export a C++ function with type qualification for 1-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_2(i_module, f_cppFunction, t_return, t_P1, t_P2)
 Export a C++ function with type qualification for 2-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3)
 Export a C++ function with type qualification for 3-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4)
 Export a C++ function with type qualification for 4-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5)
 Export a C++ function with type qualification for 5-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Export a C++ function with type qualification for 6-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Export a C++ function with type qualification for 7-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Export a C++ function with type qualification for 8-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Export a C++ function with type qualification for 9-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10)
 Export a C++ function with type qualification for 10-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11)
 Export a C++ function with type qualification for 11-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12)
 Export a C++ function with type qualification for 12-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13)
 Export a C++ function with type qualification for 13-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14)
 Export a C++ function with type qualification for 14-parameter functions using the C++ function name (no documentation).
 
#define PY_MODULE_FUNCTION_QUALIFIED_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15)
 Export a C++ function with type qualification for 15-parameter functions using the C++ function name (no documentation).
 

Class Integration

Macros to add Python classes to modules.

These macros integrate class definitions with module definitions, making the classes available as types within the module namespace. Classes must first be declared using PY_DECLARE_CLASS_* macros before they can be added to modules.

#define PY_INJECT_CLASS_IN_MODULE(t_cppClass, i_module, s_doc)
 Inject a class into a module at runtime (deprecated).
 
#define PY_MODULE_CLASS(i_module, t_cppClass)
 Add a Python class to a module.
 

Macro Definition Documentation

◆ PY_DECLARE_MODULE_NAME_DOC

#define PY_DECLARE_MODULE_NAME_DOC ( i_module,
s_name,
s_doc )
Value:
::lass::python::ModuleDefinition i_module( s_name, s_doc );
Definition of a Python module.

Declare and define a ModuleDefinition object representing a Python module.

Creates a ModuleDefinition instance that can be used to build a Python module with the specified name and documentation.

Parameters
i_moduleIdentifier of the module to be used in C++ (must be unscoped identifier for token concatenation)
s_namePython module name (const char* string, will be copied and stored internally)
s_docOptional module documentation string (const char* string, will be copied and stored internally, or nullptr)

Definition at line 88 of file pyobject_macros.h.

◆ PY_DECLARE_MODULE_NAME

#define PY_DECLARE_MODULE_NAME ( i_module,
s_name )
Value:
PY_DECLARE_MODULE_NAME_DOC( i_module, s_name, 0)

Declare a module with name only (no documentation).

Convenience macro that wraps PY_DECLARE_MODULE_NAME_DOC() with s_doc = nullptr.

Parameters
i_moduleIdentifier of the module to be used as C++ variable name (must be valid C++ identifier)
s_namePython module name (const char* string, will be copied and stored internally)

Definition at line 98 of file pyobject_macros.h.

◆ PY_DECLARE_MODULE_DOC

#define PY_DECLARE_MODULE_DOC ( i_module,
s_doc )
Value:
PY_DECLARE_MODULE_NAME_DOC( i_module, LASS_STRINGIFY(i_module), s_doc)

Declare a module with documentation, using the identifier as the module name.

Convenience macro that wraps PY_DECLARE_MODULE_NAME_DOC() with s_name derived from i_module.

Parameters
i_moduleIdentifier of the module (also used as Python module name)
s_docModule documentation string (const char* string, will be copied and stored internally)

Definition at line 108 of file pyobject_macros.h.

◆ PY_DECLARE_MODULE

#define PY_DECLARE_MODULE ( i_module)
Value:
PY_DECLARE_MODULE_NAME_DOC( i_module, LASS_STRINGIFY(i_module), 0)

Declare a module with minimal setup (name derived from identifier, no documentation).

Convenience macro that wraps PY_DECLARE_MODULE_NAME_DOC() with defaults.

Parameters
i_moduleIdentifier of the module (also used as Python module name)

Definition at line 117 of file pyobject_macros.h.

◆ PY_MODULE_ENTRYPOINT_NAME

#define PY_MODULE_ENTRYPOINT_NAME ( i_module,
i_name )
Value:
PyMODINIT_FUNC LASS_CONCATENATE(PyInit_, i_name)() { return i_module.inject(); }

Create a PyInit_* Python module initialization function with custom name.

Generates the PyInit_* function required for Python extension modules. This function will be called by Python when the module is imported.

PY_DECLARE_MODULE_NAME_DOC(mymodule, "mymodule", "My example module")
// ...
Parameters
i_moduleModule identifier declared with PY_DECLARE_MODULE_*
i_nameName for the initialization function (PyInit_<i_name> will be generated)

Definition at line 162 of file pyobject_macros.h.

◆ PY_MODULE_ENTRYPOINT

#define PY_MODULE_ENTRYPOINT ( i_module)
Value:
PY_MODULE_ENTRYPOINT_NAME( i_module, i_module )
#define PY_MODULE_ENTRYPOINT_NAME(i_module, i_name)
Create a PyInit_* Python module initialization function with custom name.

Create a Python module initialization function using the module identifier as the function name.

Convenience macro that wraps PY_MODULE_ENTRYPOINT_NAME() with i_name = i_module.

Parameters
i_moduleModule identifier (used for both module reference and function name)

Definition at line 171 of file pyobject_macros.h.

◆ PY_INJECT_MODULE

#define PY_INJECT_MODULE ( i_module)
Value:
i_module.inject();

Inject a Python module so Python becomes aware of it.

Creates the actual Python module object with all accumulated definitions (functions, classes, enums, constants). This should be done at runtime, typically in your main() function or during Python initialization.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*

Definition at line 182 of file pyobject_macros.h.

◆ PY_INJECT_MODULE_EX

#define PY_INJECT_MODULE_EX ( i_module,
s_moduleName,
s_doc )
Value:
i_module.setName(s_moduleName); \
i_module.setDoc(s_doc); \
i_module.inject();
Deprecated
Use PY_DECLARE_MODULE_NAME_DOC and PY_INJECT_MODULE instead Inject a module with name and documentation override.

Definition at line 189 of file pyobject_macros.h.

◆ PY_INJECT_MODULE_NAME

#define PY_INJECT_MODULE_NAME ( i_module,
s_moduleName )
Value:
i_module.setName(s_moduleName); \
i_module.inject();
Deprecated
Use PY_DECLARE_MODULE_NAME and PY_INJECT_MODULE instead Inject a module with name override.

Definition at line 198 of file pyobject_macros.h.

◆ PY_INJECT_MODULE_DOC

#define PY_INJECT_MODULE_DOC ( i_module,
s_doc )
Value:
i_module.setDoc(s_doc);\
i_module.inject();
Deprecated
Use PY_DECLARE_MODULE_DOC and PY_INJECT_MODULE instead Inject a module with documentation override.

Definition at line 206 of file pyobject_macros.h.

◆ PY_EXTENSION_MODULE_DOC

#define PY_EXTENSION_MODULE_DOC ( i_module,
f_injection,
s_doc )
Value:
PY_EXTENSION_MODULE_EX( i_module, f_injection, s_doc)
#define PY_EXTENSION_MODULE_EX(i_module, f_injection, s_doc)
Inject a python module so Python is aware of it and produce all necessary code so a module can be use...

Create an extension module with documentation.

Convenience macro that wraps PY_EXTENSION_MODULE_EX() with s_doc parameter.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_injectionInjection function to call during module creation
s_docModule documentation string (const char* string with static storage duration)

Definition at line 239 of file pyobject_macros.h.

◆ PY_EXTENSION_MODULE

#define PY_EXTENSION_MODULE ( i_module,
f_injection )
Value:
PY_EXTENSION_MODULE_EX( i_module, f_injection, 0)

Create an extension module (no documentation).

Convenience macro that wraps PY_EXTENSION_MODULE_EX() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_injectionInjection function to call during module creation

Definition at line 249 of file pyobject_macros.h.

◆ PY_MODULE_INTEGER_CONSTANT

#define PY_MODULE_INTEGER_CONSTANT ( i_module,
s_name,
s_value )
Value:
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE( lassExecutePyModuleIntegerConstant_, i_module),\
i_module.addLong( s_value, s_name); )

Add an integer constant to a Python module.

The constant will be added to the module during module creation (at injection time). This is executed before main(), so the constant is available when the module is created.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
s_nameName of constant as shown in the module (const char* string with static storage duration)
s_valueInteger value of the constant (long)

Definition at line 275 of file pyobject_macros.h.

◆ PY_MODULE_STRING_CONSTANT

#define PY_MODULE_STRING_CONSTANT ( i_module,
s_name,
s_value )
Value:
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE( lassExecutePyModuleIntegerConstant_, i_module),\
i_module.addString( s_value, s_name); )

Add a string constant to a Python module.

The constant will be added to the module during module creation (at injection time). This is executed before main(), so the constant is available when the module is created.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
s_nameName of constant as shown in the module (const char* string with static storage duration)
s_valueString value of the constant (const char* string with static storage duration)

Definition at line 292 of file pyobject_macros.h.

◆ PY_INJECT_OBJECT_IN_MODULE_EX

#define PY_INJECT_OBJECT_IN_MODULE_EX ( o_object,
i_module,
s_objectName )
Value:
{\
i_module.injectObject( o_object, s_objectName );\
}

Inject an arbitrary object into an already created module at runtime.

This performs immediate injection into the module namespace, unlike the PY_MODULE_*_CONSTANT macros which defer injection until module creation. Must be called after the module has been injected with PY_INJECT_MODULE.

Parameters
o_objectObject/variable to be injected (will be converted to Python object)
i_moduleModule identifier of an already injected module
s_objectNameName of object as shown in the module (const char* string with static storage duration)

Definition at line 310 of file pyobject_macros.h.

◆ PY_INJECT_OBJECT_IN_MODULE

#define PY_INJECT_OBJECT_IN_MODULE ( o_object,
i_module )
Value:
PY_INJECT_OBJECT_IN_MODULE_EX(o_object, i_module, LASS_STRINGIFY(o_object))
#define PY_INJECT_OBJECT_IN_MODULE_EX(o_object, i_module, s_objectName)
Inject an arbitrary object into an already created module at runtime.

Inject an object using its C++ identifier as the Python name.

Convenience macro that wraps PY_INJECT_OBJECT_IN_MODULE_EX() with s_objectName derived from o_object.

Parameters
o_objectObject/variable to be injected (name will be used as Python name)
i_moduleModule identifier of an already injected module

Definition at line 322 of file pyobject_macros.h.

◆ PY_MODULE_ADD_INTEGER_CONSTANT

#define PY_MODULE_ADD_INTEGER_CONSTANT ( i_module,
s_name,
v_value )
Value:
{\
i_module.injectLong(s_name, v_value);\
}
Deprecated
Use PY_MODULE_INTEGER_CONSTANT instead for compile-time registration Inject an integer constant into an already created module at runtime.

This performs immediate injection, unlike PY_MODULE_INTEGER_CONSTANT which registers the constant for inclusion during module creation.

Parameters
i_moduleModule identifier of an already injected module
s_nameName of constant as shown in the module (const char* string with static storage duration)
v_valueInteger value of the constant (long)

Definition at line 338 of file pyobject_macros.h.

◆ PY_MODULE_ADD_STRING_CONSTANT

#define PY_MODULE_ADD_STRING_CONSTANT ( i_module,
s_name,
s_value )
Value:
{\
i_module.injectString(s_name, s_value);\
}
Deprecated
Use PY_MODULE_STRING_CONSTANT instead for compile-time registration Inject a string constant into an already created module at runtime.

This performs immediate injection, unlike PY_MODULE_STRING_CONSTANT which registers the constant for inclusion during module creation.

Parameters
i_moduleModule identifier of an already injected module
s_nameName of constant as shown in the module (const char* string with static storage duration)
s_valueString value of the constant (const char* string with static storage duration)

Definition at line 356 of file pyobject_macros.h.

◆ PY_MODULE_PY_FUNCTION_EX

#define PY_MODULE_PY_FUNCTION_EX ( i_module,
f_cppFunction,
s_functionName,
s_doc )
Value:
static PyCFunction LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) = 0;\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE_3( lassExecutePyModulePyFunction_, i_module, f_cppFunction ),\
i_module.addFunctionDispatcher( \
f_cppFunction, s_functionName, s_doc, \
LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) \
);\
)

Export a C++ function to Python without automatic wrapper generation.

Use this macro for backward compatibility when wrapper functions don't need to be automatically generated or you want specific Python behavior.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (must already be a PyCFunction)
s_functionNamePython function name
s_docFunction documentation string
Deprecated
Use PY_MODULE_FUNCTION_EX instead for automatic wrapper generation

Definition at line 388 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_EX

#define PY_MODULE_FUNCTION_EX ( i_module,
f_cppFunction,
s_functionName,
s_doc,
i_dispatcher )
Value:
static PyCFunction LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) = 0;\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher( PyObject* iIgnore, PyObject* iArgs )\
{\
if (LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ))\
{\
PyObject* result = LASS_CONCATENATE( pyOverloadChain_, i_dispatcher )(iIgnore, iArgs);\
if (!(PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_TypeError)))\
{\
return result;\
}\
PyErr_Clear();\
Py_XDECREF(result);\
}\
return ::lass::python::impl::callFunction( iArgs, &f_cppFunction );\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE_3( lassExecutePyModuleFunction_, i_module, i_dispatcher ), \
i_module.addFunctionDispatcher( \
i_dispatcher, s_functionName, s_doc, \
LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) \
);\
)

Export a C++ free function to Python with full control over overloading.

This is the most flexible function export macro, allowing manual dispatcher naming for creating overloaded Python functions. Multiple C++ functions can be exported with the same Python name to create overloaded functions.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration, or nullptr)
i_dispatcherUnique name for the generated dispatcher function (must be unscoped identifier for token concatenation)

Use this macro to export functions to Python. You can create overloaded Python functions by exporting multiple C++ functions with the same s_functionName.

Note
Overload resolution uses first-fit, not best-fit like C++. The first exported overload that matches the arguments will be called.
The documentation of an overloaded Python function will be the s_doc of the first exported overload.
Example:
void barA(int a);
void barB(const std::string& b);
PY_MODULE_FUNCTION_EX(foo_module, barA, "bar", nullptr, foo_bar_a)
PY_MODULE_FUNCTION_EX(foo_module, barB, "bar", nullptr, foo_bar_b)
#define PY_MODULE_FUNCTION_EX(i_module, f_cppFunction, s_functionName, s_doc, i_dispatcher)
Export a C++ free function to Python with full control over overloading.

Definition at line 431 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_NAME_DOC

#define PY_MODULE_FUNCTION_NAME_DOC ( i_module,
f_cppFunction,
s_name,
s_doc )
Value:
PY_MODULE_FUNCTION_EX( i_module, f_cppFunction, s_name, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))

Export a C++ free function to Python with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_EX() with auto-generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export
s_namePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration, or nullptr)

Definition at line 464 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_NAME

#define PY_MODULE_FUNCTION_NAME ( i_module,
f_cppFunction,
s_name )
Value:
PY_MODULE_FUNCTION_NAME_DOC( i_module, f_cppFunction, s_name, 0)
#define PY_MODULE_FUNCTION_NAME_DOC(i_module, f_cppFunction, s_name, s_doc)
Export a C++ free function to Python with custom name and documentation.

Export a C++ free function to Python with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_NAME_DOC() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export
s_namePython function name (const char* string with static storage duration)

Definition at line 476 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_DOC

#define PY_MODULE_FUNCTION_DOC ( i_module,
f_cppFunction,
s_doc )
Value:
PY_MODULE_FUNCTION_NAME_DOC( i_module, f_cppFunction, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ free function to Python using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_NAME_DOC() with s_name derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (name will be used as Python name)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 487 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION

#define PY_MODULE_FUNCTION ( i_module,
f_cppFunction )
Value:
PY_MODULE_FUNCTION_NAME_DOC( i_module, f_cppFunction, LASS_STRINGIFY(f_cppFunction), 0)

Export a C++ free function to Python using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_NAME_DOC() with defaults.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (name will be used as Python name)

Definition at line 497 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_0

#define PY_MODULE_FUNCTION_CAST_EX_0 ( i_module,
f_cppFunction,
t_return,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster<t_return>::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ()\
{\
return f_cppFunction() ; \
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );

Exports a C++ free functions to Python with on the fly casting on return type and parameters, including omission of default parameters.

Parameters
i_modulethe module object
f_cppFunctionthe name of the function in C++
t_returnthe return type of f_cppFunction
t_paramsa lass::meta::TypeTuple of the parameter types of f_cppFunction
s_functionNamethe name the method will have in Python
s_docdocumentation of function as shown in Python (zero terminated C string)
i_dispatcherA unique name of the static C++ dispatcher function to be generated. This name will be used for the names of automatic generated variables and functions and should be unique

You can use this macro instead of PY_MODULE_FUNCTION_EX if you want to use for instance the default parameters of the C++ definition of f_cppFunction. This macro can also help you to resolve ambiguities althought the PY_MODULE_QUALIFIED_EX is the preferred macro for doing that.

void bar(int a, int b=555);
PY_MODULE_FUNCTION_CAST_NAME_1(foo_module, bar, void, int, "bar" ) // export the function with as default input for b=555
PY_MODULE_FUNCTION_CAST_NAME_2(foo_module, bar, void, int, int, "bar" )
#define PY_MODULE_FUNCTION_CAST_NAME_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName)
#define PY_MODULE_FUNCTION_CAST_NAME_1(i_module, f_cppFunction, t_return, t_P1, s_functionName)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit return type casting for 0-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (0 parameters)
t_returnReturn type of the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 562 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_1

#define PY_MODULE_FUNCTION_CAST_EX_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 1-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 584 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_2

#define PY_MODULE_FUNCTION_CAST_EX_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 2-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 606 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_3

#define PY_MODULE_FUNCTION_CAST_EX_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 3-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 628 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_4

#define PY_MODULE_FUNCTION_CAST_EX_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 4-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 650 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_5

#define PY_MODULE_FUNCTION_CAST_EX_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 5-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 672 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_6

#define PY_MODULE_FUNCTION_CAST_EX_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 6-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 694 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_7

#define PY_MODULE_FUNCTION_CAST_EX_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 7-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 716 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_8

#define PY_MODULE_FUNCTION_CAST_EX_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 8-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 738 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_9

#define PY_MODULE_FUNCTION_CAST_EX_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 9-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 760 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_10

#define PY_MODULE_FUNCTION_CAST_EX_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 10-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 782 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_11

#define PY_MODULE_FUNCTION_CAST_EX_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10, ::lass::python::OwnerCaster< t_P11 >::TCaster::TTarget iArg11 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10), ::lass::python::OwnerCaster< t_P11 >::TCaster::cast(iArg11) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 11-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 804 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_12

#define PY_MODULE_FUNCTION_CAST_EX_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10, ::lass::python::OwnerCaster< t_P11 >::TCaster::TTarget iArg11, ::lass::python::OwnerCaster< t_P12 >::TCaster::TTarget iArg12 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10), ::lass::python::OwnerCaster< t_P11 >::TCaster::cast(iArg11), ::lass::python::OwnerCaster< t_P12 >::TCaster::cast(iArg12) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 12-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 826 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_13

#define PY_MODULE_FUNCTION_CAST_EX_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10, ::lass::python::OwnerCaster< t_P11 >::TCaster::TTarget iArg11, ::lass::python::OwnerCaster< t_P12 >::TCaster::TTarget iArg12, ::lass::python::OwnerCaster< t_P13 >::TCaster::TTarget iArg13 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10), ::lass::python::OwnerCaster< t_P11 >::TCaster::cast(iArg11), ::lass::python::OwnerCaster< t_P12 >::TCaster::cast(iArg12), ::lass::python::OwnerCaster< t_P13 >::TCaster::cast(iArg13) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 13-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 848 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_14

#define PY_MODULE_FUNCTION_CAST_EX_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10, ::lass::python::OwnerCaster< t_P11 >::TCaster::TTarget iArg11, ::lass::python::OwnerCaster< t_P12 >::TCaster::TTarget iArg12, ::lass::python::OwnerCaster< t_P13 >::TCaster::TTarget iArg13, ::lass::python::OwnerCaster< t_P14 >::TCaster::TTarget iArg14 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10), ::lass::python::OwnerCaster< t_P11 >::TCaster::cast(iArg11), ::lass::python::OwnerCaster< t_P12 >::TCaster::cast(iArg12), ::lass::python::OwnerCaster< t_P13 >::TCaster::cast(iArg13), ::lass::python::OwnerCaster< t_P14 >::TCaster::cast(iArg14) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 14-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 870 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_EX_15

#define PY_MODULE_FUNCTION_CAST_EX_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName,
s_doc,
i_dispatcher )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2, ::lass::python::OwnerCaster< t_P3 >::TCaster::TTarget iArg3, ::lass::python::OwnerCaster< t_P4 >::TCaster::TTarget iArg4, ::lass::python::OwnerCaster< t_P5 >::TCaster::TTarget iArg5, ::lass::python::OwnerCaster< t_P6 >::TCaster::TTarget iArg6, ::lass::python::OwnerCaster< t_P7 >::TCaster::TTarget iArg7, ::lass::python::OwnerCaster< t_P8 >::TCaster::TTarget iArg8, ::lass::python::OwnerCaster< t_P9 >::TCaster::TTarget iArg9, ::lass::python::OwnerCaster< t_P10 >::TCaster::TTarget iArg10, ::lass::python::OwnerCaster< t_P11 >::TCaster::TTarget iArg11, ::lass::python::OwnerCaster< t_P12 >::TCaster::TTarget iArg12, ::lass::python::OwnerCaster< t_P13 >::TCaster::TTarget iArg13, ::lass::python::OwnerCaster< t_P14 >::TCaster::TTarget iArg14, ::lass::python::OwnerCaster< t_P15 >::TCaster::TTarget iArg15 \
)\
{\
return f_cppFunction ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2), ::lass::python::OwnerCaster< t_P3 >::TCaster::cast(iArg3), ::lass::python::OwnerCaster< t_P4 >::TCaster::cast(iArg4), ::lass::python::OwnerCaster< t_P5 >::TCaster::cast(iArg5), ::lass::python::OwnerCaster< t_P6 >::TCaster::cast(iArg6), ::lass::python::OwnerCaster< t_P7 >::TCaster::cast(iArg7), ::lass::python::OwnerCaster< t_P8 >::TCaster::cast(iArg8), ::lass::python::OwnerCaster< t_P9 >::TCaster::cast(iArg9), ::lass::python::OwnerCaster< t_P10 >::TCaster::cast(iArg10), ::lass::python::OwnerCaster< t_P11 >::TCaster::cast(iArg11), ::lass::python::OwnerCaster< t_P12 >::TCaster::cast(iArg12), ::lass::python::OwnerCaster< t_P13 >::TCaster::cast(iArg13), ::lass::python::OwnerCaster< t_P14 >::TCaster::cast(iArg14), ::lass::python::OwnerCaster< t_P15 >::TCaster::cast(iArg15) );\
}\
PY_MODULE_FUNCTION_EX( i_module, LASS_CONCATENATE(i_dispatcher, _caster), s_functionName, s_doc, i_dispatcher );
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 15-parameter functions with full control. This macro allows exporting functions with default parameters or when explicit type casting is needed.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 892 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_0

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_0 ( i_module,
f_cppFunction,
t_return,
t_params,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_0(i_module, f_cppFunction, t_return, s_functionName, s_doc, i_dispatcher)
Exports a C++ free functions to Python with on the fly casting on return type and parameters,...
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 0-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_0() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (0 parameters)
t_returnReturn type of the function (for explicit casting)
t_paramsParameter types as lass::meta::TypeTuple (for explicit casting - should be empty TypeTuple<>)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 914 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_1

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 1-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_1() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 931 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_2

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 2-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_2() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 948 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_3

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 3-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_3() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 965 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_4

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 4-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_4() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 982 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_5

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 5-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_5() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 999 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_6

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 6-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_6() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1016 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_7

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 7-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_7() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1033 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_8

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 8-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_8() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1050 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_9

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 9-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_9() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1067 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_10

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 10-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_10() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1084 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_11

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 11-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_11() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1101 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_12

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 12-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_12() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1118 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_13

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 13-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_13() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1135 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_14

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 14-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_14() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1152 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_DOC_15

#define PY_MODULE_FUNCTION_CAST_NAME_DOC_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_CAST_EX_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc, i_dispatcher)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 15-parameter functions with custom name and documentation. Convenience macro that wraps PY_MODULE_FUNCTION_CAST_EX_15() with automatically generated dispatcher name.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1169 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_0

#define PY_MODULE_FUNCTION_CAST_NAME_0 ( i_module,
f_cppFunction,
t_return,
s_functionName )
Value:
i_module, f_cppFunction, t_return, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_0(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 0-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_0() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (0 parameters)
t_returnReturn type of the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1186 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_1

#define PY_MODULE_FUNCTION_CAST_NAME_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 1-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_1() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1201 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_2

#define PY_MODULE_FUNCTION_CAST_NAME_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 2-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_2() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1216 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_3

#define PY_MODULE_FUNCTION_CAST_NAME_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 3-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_3() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1231 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_4

#define PY_MODULE_FUNCTION_CAST_NAME_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 4-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_4() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1246 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_5

#define PY_MODULE_FUNCTION_CAST_NAME_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 5-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_5() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1261 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_6

#define PY_MODULE_FUNCTION_CAST_NAME_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 6-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_6() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1276 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_7

#define PY_MODULE_FUNCTION_CAST_NAME_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 7-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_7() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1291 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_8

#define PY_MODULE_FUNCTION_CAST_NAME_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 8-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_8() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1306 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_9

#define PY_MODULE_FUNCTION_CAST_NAME_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 9-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_9() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1321 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_10

#define PY_MODULE_FUNCTION_CAST_NAME_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 10-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_10() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1336 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_11

#define PY_MODULE_FUNCTION_CAST_NAME_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 11-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_11() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1351 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_12

#define PY_MODULE_FUNCTION_CAST_NAME_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 12-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_12() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1366 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_13

#define PY_MODULE_FUNCTION_CAST_NAME_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 13-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_13() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1381 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_14

#define PY_MODULE_FUNCTION_CAST_NAME_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 14-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_14() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1396 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_CAST_NAME_15

#define PY_MODULE_FUNCTION_CAST_NAME_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, 0 )
#define PY_MODULE_FUNCTION_CAST_NAME_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc)
Deprecated
Define an explicit wrapper function instead of using casting macros Export a C++ function with explicit type casting for 15-parameter functions with custom name (no documentation). Convenience macro that wraps PY_MODULE_FUNCTION_CAST_NAME_DOC_15() with s_doc = nullptr.
Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters)
t_returnReturn type of the function (for explicit casting)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for explicit casting)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 1411 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX

#define PY_MODULE_FUNCTION_QUALIFIED_EX ( i_module,
f_cppFunction,
t_return,
t_params,
s_functionName,
s_doc,
i_dispatcher )
Value:
static PyCFunction LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) = 0;\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher( PyObject* iIgnore, PyObject* iArgs )\
{\
if (LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ))\
{\
PyObject* result = LASS_CONCATENATE( pyOverloadChain_, i_dispatcher )(iIgnore, iArgs);\
if (!(PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_TypeError)))\
{\
return result;\
}\
PyErr_Clear();\
Py_XDECREF(result);\
}\
return ::lass::python::impl::ExplicitResolver\
<\
lass::meta::NullType,\
t_return,\
t_params\
>\
::callFunction(iArgs, &f_cppFunction);\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE_3( lassExecutePyModuleFunction_, i_module, i_dispatcher ),\
i_module.addFunctionDispatcher( \
i_dispatcher, s_functionName, s_doc, \
LASS_CONCATENATE( pyOverloadChain_, i_dispatcher ) \
);\
)

Export a C++ free function to Python with explicit type qualification to resolve ambiguities.

Use this macro instead of PY_MODULE_FUNCTION_EX when there are overloaded C++ functions that would create ambiguity. By explicitly specifying return type and parameter types, you can disambiguate which overload to export.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration, or nullptr)
i_dispatcherUnique name for the generated dispatcher function (must be unscoped identifier for token concatenation)

This macro helps resolve function overload ambiguities by explicitly specifying the function signature to export.

Example:
void bar(int a);
void bar(const std::string& b);
PY_MODULE_FUNCTION_QUALIFIED_EX(foo_module, bar, void, meta::TypeTuple<int>, "bar", nullptr, foo_bar_a)
PY_MODULE_FUNCTION_QUALIFIED_EX(foo_module, bar, void, meta::TypeTuple<const std::string&>, "bar", nullptr, foo_bar_b)
#define PY_MODULE_FUNCTION_QUALIFIED_EX(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc, i_dispatcher)
Export a C++ free function to Python with explicit type qualification to resolve ambiguities.

Definition at line 1471 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_0

#define PY_MODULE_FUNCTION_QUALIFIED_EX_0 ( i_module,
f_cppFunction,
t_return,
s_functionName,
s_doc,
i_dispatcher )
Value:
i_module, f_cppFunction, t_return, ::lass::meta::TypeTuple<>, s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 0-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with 0 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (0 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1512 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_1

#define PY_MODULE_FUNCTION_QUALIFIED_EX_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 1-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 1 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1528 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_2

#define PY_MODULE_FUNCTION_QUALIFIED_EX_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 2-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 2 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1548 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_3

#define PY_MODULE_FUNCTION_QUALIFIED_EX_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 3-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 3 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1568 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_4

#define PY_MODULE_FUNCTION_QUALIFIED_EX_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 4-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 4 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1588 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_5

#define PY_MODULE_FUNCTION_QUALIFIED_EX_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 5-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 5 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1608 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_6

#define PY_MODULE_FUNCTION_QUALIFIED_EX_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 6-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 6 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1628 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_7

#define PY_MODULE_FUNCTION_QUALIFIED_EX_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 7-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 7 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1648 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_8

#define PY_MODULE_FUNCTION_QUALIFIED_EX_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 8-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 8 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1668 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_9

#define PY_MODULE_FUNCTION_QUALIFIED_EX_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 9-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 9 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1688 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_10

#define PY_MODULE_FUNCTION_QUALIFIED_EX_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 10-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 10 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1708 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_11

#define PY_MODULE_FUNCTION_QUALIFIED_EX_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 11-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 11 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1728 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_12

#define PY_MODULE_FUNCTION_QUALIFIED_EX_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 12-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 12 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1748 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_13

#define PY_MODULE_FUNCTION_QUALIFIED_EX_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 13-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 13 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1768 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_14

#define PY_MODULE_FUNCTION_QUALIFIED_EX_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 14-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 14 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1788 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_EX_15

#define PY_MODULE_FUNCTION_QUALIFIED_EX_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_MODULE_FUNCTION_QUALIFIED_EX(\
i_module, f_cppFunction, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)),\
s_functionName, s_doc, i_dispatcher )

Export a C++ function with type qualification for 15-parameter functions with full control.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() for functions with exactly 15 parameters.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)
i_dispatcherUnique identifier for the function dispatcher

Definition at line 1808 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC ( i_module,
f_cppFunction,
t_return,
t_params,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))

Export a C++ function with type qualification and custom name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1828 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0 ( i_module,
f_cppFunction,
t_return,
t_params,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_0(i_module, f_cppFunction, t_return, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 0-parameter functions with full control.

Export a C++ function with type qualification for 0-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_0() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (0 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation - should be empty TypeTuple<>)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1845 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 1-parameter functions with full control.

Export a C++ function with type qualification for 1-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_1() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1861 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 2-parameter functions with full control.

Export a C++ function with type qualification for 2-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_2() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1877 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 3-parameter functions with full control.

Export a C++ function with type qualification for 3-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_3() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1893 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 4-parameter functions with full control.

Export a C++ function with type qualification for 4-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_4() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1909 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 5-parameter functions with full control.

Export a C++ function with type qualification for 5-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_5() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1925 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 6-parameter functions with full control.

Export a C++ function with type qualification for 6-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_6() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1941 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 7-parameter functions with full control.

Export a C++ function with type qualification for 7-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_7() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1957 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 8-parameter functions with full control.

Export a C++ function with type qualification for 8-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_8() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1973 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 9-parameter functions with full control.

Export a C++ function with type qualification for 9-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_9() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 1989 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 10-parameter functions with full control.

Export a C++ function with type qualification for 10-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_10() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2005 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 11-parameter functions with full control.

Export a C++ function with type qualification for 11-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_11() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2021 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 12-parameter functions with full control.

Export a C++ function with type qualification for 12-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_12() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2037 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 13-parameter functions with full control.

Export a C++ function with type qualification for 13-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_13() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2053 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 14-parameter functions with full control.

Export a C++ function with type qualification for 14-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_14() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2069 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_function_, i_module)))
#define PY_MODULE_FUNCTION_QUALIFIED_EX_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc, i_dispatcher)
Export a C++ function with type qualification for 15-parameter functions with full control.

Export a C++ function with type qualification for 15-parameter functions with custom name and documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_EX_15() with automatically generated dispatcher name.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2085 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME

#define PY_MODULE_FUNCTION_QUALIFIED_NAME ( i_module,
f_cppFunction,
t_return,
t_params,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_params, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
Export a C++ function with type qualification and custom name with documentation.

Export a C++ function with type qualification and custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2101 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_0

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_0 ( i_module,
f_cppFunction,
t_return,
s_functionName )
Value:
i_module, f_cppFunction, t_return, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0(i_module, f_cppFunction, t_return, t_params, s_functionName, s_doc)
Export a C++ function with type qualification for 0-parameter functions with custom name and document...

Export a C++ function with type qualification for 0-parameter functions and custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (0 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2114 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_1

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_functionName, s_doc)
Export a C++ function with type qualification for 1-parameter functions with custom name and document...

Export a C++ function with type qualification for 1-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2128 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_2

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_functionName, s_doc)
Export a C++ function with type qualification for 2-parameter functions with custom name and document...

Export a C++ function with type qualification for 2-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2142 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_3

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_functionName, s_doc)
Export a C++ function with type qualification for 3-parameter functions with custom name and document...

Export a C++ function with type qualification for 3-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2156 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_4

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_functionName, s_doc)
Export a C++ function with type qualification for 4-parameter functions with custom name and document...

Export a C++ function with type qualification for 4-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2170 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_5

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_functionName, s_doc)
Export a C++ function with type qualification for 5-parameter functions with custom name and document...

Export a C++ function with type qualification for 5-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2184 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_6

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_functionName, s_doc)
Export a C++ function with type qualification for 6-parameter functions with custom name and document...

Export a C++ function with type qualification for 6-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2198 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_7

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_functionName, s_doc)
Export a C++ function with type qualification for 7-parameter functions with custom name and document...

Export a C++ function with type qualification for 7-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2212 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_8

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_functionName, s_doc)
Export a C++ function with type qualification for 8-parameter functions with custom name and document...

Export a C++ function with type qualification for 8-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2226 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_9

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_functionName, s_doc)
Export a C++ function with type qualification for 9-parameter functions with custom name and document...

Export a C++ function with type qualification for 9-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2240 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_10

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_functionName, s_doc)
Export a C++ function with type qualification for 10-parameter functions with custom name and documen...

Export a C++ function with type qualification for 10-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2254 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_11

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_functionName, s_doc)
Export a C++ function with type qualification for 11-parameter functions with custom name and documen...

Export a C++ function with type qualification for 11-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2268 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_12

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_functionName, s_doc)
Export a C++ function with type qualification for 12-parameter functions with custom name and documen...

Export a C++ function with type qualification for 12-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2282 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_13

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_functionName, s_doc)
Export a C++ function with type qualification for 13-parameter functions with custom name and documen...

Export a C++ function with type qualification for 13-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2296 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_14

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_functionName, s_doc)
Export a C++ function with type qualification for 14-parameter functions with custom name and documen...

Export a C++ function with type qualification for 14-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2310 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_NAME_15

#define PY_MODULE_FUNCTION_QUALIFIED_NAME_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_functionName )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_functionName, s_doc)
Export a C++ function with type qualification for 15-parameter functions with custom name and documen...

Export a C++ function with type qualification for 15-parameter functions with custom name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters, can be overloaded)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for disambiguation)
s_functionNamePython function name (const char* string with static storage duration)

Definition at line 2324 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC

#define PY_MODULE_FUNCTION_QUALIFIED_DOC ( i_module,
f_cppFunction,
t_return,
t_params,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_params, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (can be overloaded, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2339 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_0

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_0 ( i_module,
f_cppFunction,
t_return,
s_doc )
Value:
i_module, f_cppFunction, t_return, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 0-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_0() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (0 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2352 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_1

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_1 ( i_module,
f_cppFunction,
t_return,
t_P1,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 1-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_1() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (1 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2366 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_2

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 2-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_2() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (2 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2380 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_3

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 3-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_3() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (3 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2394 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_4

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 4-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_4() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (4 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2408 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_5

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 5-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_5() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (5 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2422 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_6

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 6-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_6() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (6 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2436 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_7

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 7-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_7() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (7 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2450 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_8

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 8-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_8() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (8 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2464 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_9

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 9-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_9() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (9 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2478 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_10

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 10-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_10() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (10 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2492 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_11

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 11-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_11() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (11 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2506 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_12

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 12-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_12() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (12 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2520 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_13

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 13-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_13() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (13 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2534 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_14

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 14-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_14() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (14 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2548 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_DOC_15

#define PY_MODULE_FUNCTION_QUALIFIED_DOC_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15,
s_doc )
Value:
i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, LASS_STRINGIFY(f_cppFunction), s_doc)

Export a C++ function with type qualification for 15-parameter functions using the C++ function name with documentation.

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC_15() with s_functionName derived from f_cppFunction.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*()
f_cppFunctionC++ function to export (15 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9,t_P10,t_P11,t_P12,t_P13,t_P14,t_P15Parameter types for the function (for disambiguation)
s_docFunction documentation string (const char* string with static storage duration)

Definition at line 2562 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED

#define PY_MODULE_FUNCTION_QUALIFIED ( i_module,
f_cppFunction,
t_return,
t_params )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC( i_module, f_cppFunction, t_return, t_params, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC(i_module, f_cppFunction, t_return, t_params, s_doc)
Export a C++ function with type qualification using the C++ function name with documentation.

Export a C++ function with type qualification using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_NAME_DOC() with defaults.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (can be overloaded, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)

Definition at line 2576 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_0

#define PY_MODULE_FUNCTION_QUALIFIED_0 ( i_module,
f_cppFunction,
t_return )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_0( i_module, f_cppFunction, t_return, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_0(i_module, f_cppFunction, t_return, s_doc)
Export a C++ function with type qualification for 0-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 0-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_0() with s_doc = nullptr.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_*
f_cppFunctionC++ function to export (0 parameters, name will be used as Python name)
t_returnReturn type of the function (for disambiguation)

Definition at line 2587 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_1

#define PY_MODULE_FUNCTION_QUALIFIED_1 ( i_module,
f_cppFunction,
t_return,
t_P1 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_1( i_module, f_cppFunction, t_return, t_P1, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_1(i_module, f_cppFunction, t_return, t_P1, s_doc)
Export a C++ function with type qualification for 1-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 1-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_1() with s_doc = nullptr.

Definition at line 2594 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_2

#define PY_MODULE_FUNCTION_QUALIFIED_2 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_2( i_module, f_cppFunction, t_return, t_P1, t_P2, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_2(i_module, f_cppFunction, t_return, t_P1, t_P2, s_doc)
Export a C++ function with type qualification for 2-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 2-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_2() with s_doc = nullptr.

Definition at line 2601 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_3

#define PY_MODULE_FUNCTION_QUALIFIED_3 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_3( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_3(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, s_doc)
Export a C++ function with type qualification for 3-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 3-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_3() with s_doc = nullptr.

Definition at line 2608 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_4

#define PY_MODULE_FUNCTION_QUALIFIED_4 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_4( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_4(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
Export a C++ function with type qualification for 4-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 4-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_4() with s_doc = nullptr.

Definition at line 2615 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_5

#define PY_MODULE_FUNCTION_QUALIFIED_5 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_5( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_5(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
Export a C++ function with type qualification for 5-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 5-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_5() with s_doc = nullptr.

Definition at line 2622 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_6

#define PY_MODULE_FUNCTION_QUALIFIED_6 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_6( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_6(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
Export a C++ function with type qualification for 6-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 6-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_6() with s_doc = nullptr.

Definition at line 2629 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_7

#define PY_MODULE_FUNCTION_QUALIFIED_7 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_7( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_7(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
Export a C++ function with type qualification for 7-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 7-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_7() with s_doc = nullptr.

Definition at line 2636 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_8

#define PY_MODULE_FUNCTION_QUALIFIED_8 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_8( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_8(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
Export a C++ function with type qualification for 8-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 8-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_8() with s_doc = nullptr.

Definition at line 2643 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_9

#define PY_MODULE_FUNCTION_QUALIFIED_9 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_9( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_9(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_doc)
Export a C++ function with type qualification for 9-parameter functions using the C++ function name w...

Export a C++ function with type qualification for 9-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_9() with s_doc = nullptr.

Definition at line 2650 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_10

#define PY_MODULE_FUNCTION_QUALIFIED_10 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_10( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_10(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_doc)
Export a C++ function with type qualification for 10-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 10-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_10() with s_doc = nullptr.

Definition at line 2657 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_11

#define PY_MODULE_FUNCTION_QUALIFIED_11 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_11( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_11(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, s_doc)
Export a C++ function with type qualification for 11-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 11-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_11() with s_doc = nullptr.

Definition at line 2664 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_12

#define PY_MODULE_FUNCTION_QUALIFIED_12 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_12( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_12(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, s_doc)
Export a C++ function with type qualification for 12-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 12-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_12() with s_doc = nullptr.

Definition at line 2671 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_13

#define PY_MODULE_FUNCTION_QUALIFIED_13 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_13( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_13(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, s_doc)
Export a C++ function with type qualification for 13-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 13-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_13() with s_doc = nullptr.

Definition at line 2678 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_14

#define PY_MODULE_FUNCTION_QUALIFIED_14 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_14( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_14(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, s_doc)
Export a C++ function with type qualification for 14-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 14-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_14() with s_doc = nullptr.

Definition at line 2685 of file pyobject_macros.h.

◆ PY_MODULE_FUNCTION_QUALIFIED_15

#define PY_MODULE_FUNCTION_QUALIFIED_15 ( i_module,
f_cppFunction,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11,
t_P12,
t_P13,
t_P14,
t_P15 )
Value:
PY_MODULE_FUNCTION_QUALIFIED_DOC_15( i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, 0 )
#define PY_MODULE_FUNCTION_QUALIFIED_DOC_15(i_module, f_cppFunction, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11, t_P12, t_P13, t_P14, t_P15, s_doc)
Export a C++ function with type qualification for 15-parameter functions using the C++ function name ...

Export a C++ function with type qualification for 15-parameter functions using the C++ function name (no documentation).

Convenience macro that wraps PY_MODULE_FUNCTION_QUALIFIED_DOC_15() with s_doc = nullptr.

Definition at line 2692 of file pyobject_macros.h.

◆ PY_INJECT_CLASS_IN_MODULE

#define PY_INJECT_CLASS_IN_MODULE ( t_cppClass,
i_module,
s_doc )
Value:
t_cppClass::_lassPyClassDef.setDocIfNotNull(s_doc);\
i_module.injectClass(t_cppClass::_lassPyClassDef);

Inject a class into a module at runtime (deprecated).

This is the legacy runtime approach for adding classes to modules. Use PY_MODULE_CLASS instead for compile-time registration.

Parameters
t_cppClassPython binding class type that has been declared with PY_DECLARE_CLASS_*
i_moduleModule object identifier to inject the class into
s_docOptional class documentation string (or nullptr)
Deprecated
Use PY_MODULE_CLASS instead, and set class doc with PY_DECLARE_CLASS_DOC
Remarks
This is executed at runtime, so it must be called from main() or a function called by main().

Definition at line 2896 of file pyobject_macros.h.

◆ PY_MODULE_CLASS

#define PY_MODULE_CLASS ( i_module,
t_cppClass )
Value:
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE( lassExecutePyModuleClass_, i_module ),\
i_module.addClass( t_cppClass ::_lassPyClassDef); \
)

Add a Python class to a module.

Registers a class definition to be included in the module when it is created. The class must have been declared with PY_DECLARE_CLASS_* macros. This is executed before main(), so the class is available when the module is created.

Parameters
i_moduleModule identifier declared by PY_DECLARE_MODULE_* (must be unscoped identifier for token concatenation)
t_cppClassPython binding class type that has been declared with PY_DECLARE_CLASS_*

Example:

PY_DECLARE_CLASS_NAME_DOC(MyClass, "MyClass", "Sample class")
PY_MODULE_CLASS(mymodule, MyClass)
#define PY_DECLARE_CLASS_NAME_DOC(t_cppClass, s_className, s_doc)
Declare a Python class with full control over name and documentation.

Definition at line 2917 of file pyobject_macros.h.

◆ PY_EXTENSION_MODULE_EX

#define PY_EXTENSION_MODULE_EX ( i_module,
f_injection,
s_doc )
Value:
extern "C" __declspec(dllexport)\
void LASS_CONCATENATE(init, i_module) () {\
PY_INJECT_MODULE_EX(i_module, const_cast<char*>( LASS_STRINGIFY(i_module) ), s_doc);\
f_injection ();\
}

Inject a python module so Python is aware of it and produce all necessary code so a module can be used as extension of Python.

A limitation in comparison with embedded modules is that the name of the module cannot be changed anymore upon injection.

Parameters
i_modulethe identifier of a module declared by PY_DECLARE_MODULE
f_injectionthe function that will inject all the classes for this module
s_docdocumentation of module as shown in Python (zero terminated C string)

Definition at line 224 of file pyobject_macros.h.