Library of Assembled Shared Sources
Class Definitions

Detailed Description

Defining Python classes from C++ with methods, properties, operators, and nested types.

This module provides the internal machinery used by the class export macros to define Python classes backed by C++ types. A class definition aggregates constructors, methods (including Python special methods/operators), properties, static members, nested classes and enums, and then materializes a Python type when frozen.

Class Components

A Python class can contain:

Usage Overview

To export a C++ class to Python, you typically use macros that work with ClassDefinition:

// Define class in header
class MyClass: public PyObjectPlus
{
PY_HEADER(PyObjectPlus)
public:
MyClass();
MyClass(int value);
MyClass(const std::string& name, double factor);
void process();
void process(int iterations); // Overload #1 (member)
int calculate(int input) const;
std::string getName() const;
void setName(const std::string& name);
static int getGlobalCount();
std::string toString() const; // For __str__
int publicValue;
static const int MAX_SIZE = 100;
};
// Free functions for export as methods
void reset(MyClass* obj);
void process(MyClass* obj, const std::string& mode); // Overload #2 (free function)
double computeScore(const MyClass& obj, double multiplier);
MyClass combine(const MyClass& a, const MyClass& b);
// Special method implementations
bool operator==(const MyClass& a, const MyClass& b);
bool operator<(const MyClass& a, const MyClass& b);
MyClass operator+(const MyClass& a, const MyClass& b);
MyClass operator-(const MyClass& a, const MyClass& b);
std::string repr(const MyClass& obj); // For __repr__
size_t hash(const MyClass& obj); // For __hash__
// Register class methods and properties in source
PY_DECLARE_CLASS_NAME_DOC(MyClass, "MyClass", "Demonstration class with various binding types")
// Multiple constructor overloads
PY_CLASS_CONSTRUCTOR_2(MyClass, const std::string&, double)
// Mixed overloading: regular methods + free functions for same Python method
PY_CLASS_METHOD(MyClass, process) // void process()
PY_CLASS_METHOD_1(MyClass, process, int) // void process(int)
PY_CLASS_FREE_METHOD_NAME(MyClass, process, "process") // void process(MyClass*, const std::string&)
// Other regular methods
PY_CLASS_METHOD_DOC(MyClass, calculate, "Calculate result from input value")
PY_CLASS_STATIC_METHOD(MyClass, getGlobalCount)
// Properties (getter/setter pairs)
PY_CLASS_MEMBER_RW_DOC(MyClass, name, getName, setName, "Object name property")
// Public member access
PY_CLASS_MEMBER_R(MyClass, publicValue)
// Free functions as methods (various forms)
PY_CLASS_FREE_METHOD(MyClass, reset)
PY_CLASS_FREE_METHOD_NAME_DOC(MyClass, computeScore, "compute_score", "Calculate score with multiplier")
PY_CLASS_FREE_METHOD_DOC(MyClass, combine, "Combine two objects")
// Python special methods via member and free functions
PY_CLASS_METHOD_NAME(MyClass, toString, methods::_str_) // Member function for __str__
PY_CLASS_FREE_METHOD_NAME(MyClass, repr, methods::_repr_) // Free function for __repr__
PY_CLASS_FREE_METHOD_NAME(MyClass, hash, methods::_hash_) // Free function for __hash__
// Comparison and arithmetic operators
PY_CLASS_FREE_METHOD_NAME(MyClass, operator==, methods::_eq_)
PY_CLASS_FREE_METHOD_NAME(MyClass, operator<, methods::_lt_)
PY_CLASS_FREE_METHOD_NAME(MyClass, operator+, methods::_add_)
PY_CLASS_FREE_METHOD_NAME(MyClass, operator-, methods::_sub_)
// Static constants and values
PY_CLASS_STATIC_CONST(MyClass, "MAX_SIZE", MyClass::MAX_SIZE)
PY_CLASS_STATIC_CONST(MyClass, "VERSION", "1.2.3")
// Add to module
PY_MODULE_CLASS(mymodule, MyClass)
#define PY_CLASS_STATIC_CONST(i_cppClass, s_name, v_value)
Export a static constant value as a class attribute.
#define PY_CLASS_METHOD_NAME(i_cppClass, i_cppMethod, s_methodName)
Export a C++ method to Python with custom name (no documentation).
#define PY_CLASS_METHOD_DOC(i_cppClass, i_cppMethod, s_doc)
Export a C++ method to Python using the C++ method name with documentation.
#define PY_CLASS_METHOD(i_cppClass, i_cppMethod)
Export a C++ method to Python using the C++ method name (no documentation).
#define PY_CLASS_FREE_METHOD_NAME_DOC(i_cppClass, f_cppFreeMethod, s_methodName, s_doc)
Export a C/C++ free function as a Python method with custom name and documentation.
#define PY_CLASS_FREE_METHOD_DOC(i_cppClass, i_cppFreeMethod, s_doc)
Export a C/C++ free function as a Python method with custom documentation (method name derived from f...
#define PY_CLASS_CONSTRUCTOR_2(t_cppClass, t_P1, t_P2)
Export C++ constructor as Python class constructor with 2 parameters.
#define PY_DECLARE_CLASS_NAME_DOC(t_cppClass, s_className, s_doc)
Declare a Python class with full control over name and documentation.
#define PY_CLASS_MEMBER_RW_DOC(t_cppClass, i_cppGetter, i_cppSetter, s_doc)
Export getter/setter method pair as read/write Python property (name derived from getter,...
#define PY_CLASS_STATIC_METHOD(i_cppClass, i_cppMethod)
Export a C++ static method (method name derived from C++ method, no documentation).
#define PY_CLASS_FREE_METHOD_NAME(i_cppClass, f_cppFreeMethod, s_methodName)
Export a C/C++ free function as a Python method with custom name (no documentation).
#define PY_CLASS_CONSTRUCTOR_0(t_cppClass)
Export C++ default constructor as Python class constructor.
#define PY_CLASS_MEMBER_R(t_cppClass, i_cppGetter)
Export getter method as read-only Python property using method name.
#define PY_CLASS_FREE_METHOD(i_cppClass, i_cppFreeMethod)
Export a C/C++ free function as a Python method (method name derived from function name,...
#define PY_CLASS_CONSTRUCTOR_1(t_cppClass, t_P1)
Export C++ constructor as Python class constructor with 1 parameters.
#define PY_MODULE_CLASS(i_module, t_cppClass)
Add a Python class to a module.
#define PY_HEADER(t_parentClass)
Place as first line of your Pythonized class.

Data Structures

class  lass::python::impl::ClassDefinition
 Definition of a Python class. More...
 

Class Declaration & Setup

Macros to declare and configure Python classes from C++ types.

These macros create the internal class definition objects that aggregate all the information needed to generate a Python type. Every C++ class that needs to be exposed to Python must be declared using one of these macros.

LASS supports two approaches for exporting C++ classes to Python:

  1. Native Python classes: C++ classes that directly inherit from PyObjectPlus and are designed to be Python-aware from the start.
  2. Shadow classes: Wrapper classes created for existing native C++ types using the shadow system (see PY_SHADOW_CLASS macros). The shadow class inherits from PyObjectPlus and wraps the original C++ type.

In both cases, the class parameter in these declaration macros refers to the Python binding class (either PyObjectPlus-derived or shadow wrapper), never the underlying native C++ type being shadowed.

All Python classes must use the PY_HEADER macro in their declaration and be declared in source files only, never in headers, to avoid multiple definition errors.

Native Python Class Usage:

// In header file (MyClass.h):
class MyClass: public PyObjectPlus
{
PY_HEADER(PyObjectPlus)
public:
MyClass();
void someMethod();
};
// In source file (MyClass.cpp):
PY_DECLARE_CLASS_NAME_DOC(MyClass, "MyClass", "A sample class")
// ... add methods, constructors, properties etc.

Shadow Class Usage:

// Existing non-Python-aware C++ class:
class LegacyClass
{
public:
void doSomething();
};
// Shadow wrapper class:
PY_SHADOW_CLASS(LASS_DLL_EXPORT, PyShadowLegacyClass, LegacyClass)
// Declaration (note: we declare the shadow class, not LegacyClass):
PY_DECLARE_CLASS_NAME_DOC(PyShadowLegacyClass, "LegacyClass", "Legacy class wrapper")
#define PY_DECLARE_CLASS_NAME_DOC(t_cppClass, s_className, s_doc)
 Declare a Python class with full control over name and documentation.
 
#define PY_DECLARE_CLASS_NAME(t_cppClass, s_className)
 Declare a Python class with custom name but no documentation.
 
#define PY_DECLARE_CLASS_DOC(i_cppClass, s_doc)
 Declare a Python class with automatic name and custom documentation.
 
#define PY_DECLARE_CLASS(i_cppClass)
 Declare a Python class with automatic name and no documentation.
 
#define PY_DECLARE_CLASS_EX(t_cppClass, s_className, i_uniqueClassIdentifier)
 Legacy class declaration macro.
 

Static Constants

Macros to export static constant values as class attributes.

These macros allow you to expose compile-time constant values as static attributes of Python classes. The values are converted to Python objects using PyExportTraits and become accessible as class-level attributes in Python.

#define PY_CLASS_STATIC_CONST(i_cppClass, s_name, v_value)
 Export a static constant value as a class attribute.
 

Inner Classes

Macros for declaring inner classes (nested classes) within Python-exported classes.

These macros establish hierarchical class relationships where inner classes become attributes of their outer class in Python.

Note
Inner classes must be declared with PY_DECLARE_CLASS* macros before using these macros.

Usage pattern:

// Declare both classes first
PY_DECLARE_CLASS_DOC(Outer, "Outer class")
PY_DECLARE_CLASS_DOC(Inner, "Inner class")
// Establish inner class relationship
PY_CLASS_INNER_CLASS(Outer, Inner)
#define PY_DECLARE_CLASS_DOC(i_cppClass, s_doc)
Declare a Python class with automatic name and custom documentation.
#define PY_CLASS_INNER_CLASS(i_outerCppClass, i_innerCppClass)
Exports an inner class with default name and no documentation.
#define PY_CLASS_INNER_CLASS_EX(t_outerCppClass, t_innerCppClass, s_name, s_doc, i_uniqueSuffix)
 Exports an inner class with full customization of name, documentation, and symbol suffix.
 
#define PY_CLASS_INNER_CLASS_NAME_DOC(i_outerCppClass, i_innerCppClass, s_name, s_doc)
 Exports an inner class with custom name and documentation.
 
#define PY_CLASS_INNER_CLASS_NAME(i_outerCppClass, i_innerCppClass, s_name)
 Exports an inner class with custom name but no documentation.
 
#define PY_CLASS_INNER_CLASS_DOC(i_outerCppClass, i_innerCppClass, s_doc)
 Exports an inner class with default name and custom documentation.
 
#define PY_CLASS_INNER_CLASS(i_outerCppClass, i_innerCppClass)
 Exports an inner class with default name and no documentation.
 

Methods

Macros for exporting C++ class methods to Python with automatic type deduction and wrapper generation.

These macros handle member function calls, overloading, and method documentation.

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 method will be the s_doc of the first exported overload.

Usage pattern:

// Declare the class first
PY_DECLARE_CLASS_DOC(Foo, "My class")
// Export methods - simple case
PY_CLASS_METHOD(Foo, someMethod)
// Export overloaded methods with same Python name
PY_CLASS_METHOD_EX(Foo, barA, "bar", nullptr, foo_bar_a)
PY_CLASS_METHOD_EX(Foo, barB, "bar", nullptr, foo_bar_b)
#define PY_CLASS_METHOD_EX(t_cppClass, i_cppMethod, s_methodName, s_doc, i_dispatcher)
Export a C++ method to Python with full control over overloading.
#define PY_CLASS_PY_METHOD_EX(i_cppClass, i_cppMethod, s_methodName, s_doc)
 Export a C++ method that returns raw PyObject* to Python.
 
#define PY_CLASS_METHOD_EX(t_cppClass, i_cppMethod, s_methodName, s_doc, i_dispatcher)
 Export a C++ method to Python with full control over overloading.
 
#define PY_CLASS_METHOD_NAME_DOC(i_cppClass, i_cppMethod, s_methodName, s_doc)
 Export a C++ method to Python with custom name and documentation.
 
#define PY_CLASS_METHOD_NAME(i_cppClass, i_cppMethod, s_methodName)
 Export a C++ method to Python with custom name (no documentation).
 
#define PY_CLASS_METHOD_DOC(i_cppClass, i_cppMethod, s_doc)
 Export a C++ method to Python using the C++ method name with documentation.
 
#define PY_CLASS_METHOD(i_cppClass, i_cppMethod)
 Export a C++ method to Python using the C++ method name (no documentation).
 

Type-Qualified Method Export Macros

These macros export C++ class methods to Python with explicit type qualification to resolve method overload ambiguities.

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

Use these macros when you have overloaded C++ methods and need to specify exactly which overload to export to Python by providing explicit return and parameter types.

The macros are organized in layers:

#define PY_CLASS_METHOD_QUALIFIED_EX(t_cppClass, i_cppMethod, t_return, t_params, s_methodName, s_doc, i_dispatcher)
 Export a C++ method to Python with explicit type qualification to resolve ambiguities.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_0(t_cppClass, i_cppMethod, t_return, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 0-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_1(t_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 1-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_2(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 2-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_3(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 3-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_4(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 4-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_5(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 5-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_6(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 6-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_7(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 7-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_8(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 8-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_9(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 9-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_10(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 10-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_11(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 11-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_12(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 12-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_13(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 13-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_14(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 14-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_EX_15(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ method with type qualification for 15-parameter methods.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_methodName, s_doc)
 Export a C++ method with type qualification and custom name with documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_0(i_cppClass, i_cppMethod, t_return, s_methodName, s_doc)
 Export a C++ method with type qualification for 0-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc)
 Export a C++ method with type qualification for 1-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
 Export a C++ method with type qualification for 2-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
 Export a C++ method with type qualification for 3-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
 Export a C++ method with type qualification for 4-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
 Export a C++ method with type qualification for 5-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
 Export a C++ method with type qualification for 6-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
 Export a C++ method with type qualification for 7-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
 Export a C++ method with type qualification for 8-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
 Export a C++ method with type qualification for 9-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
 Export a C++ method with type qualification for 10-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_11(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Export a C++ method with type qualification for 11-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_12(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Export a C++ method with type qualification for 12-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_13(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Export a C++ method with type qualification for 13-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_14(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Export a C++ method with type qualification for 14-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_15(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Export a C++ method with type qualification for 15-parameter methods with custom name and documentation.
 
#define PY_CLASS_METHOD_QUALIFIED_NAME(i_cppClass, i_cppMethod, t_return, t_params, s_methodName)
 Export a C++ method with type qualification and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_0(i_cppClass, i_cppMethod, t_return, s_methodName)
 Export a C++ method with type qualification for 0-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName)
 Export a C++ method with type qualification for 1-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName)
 Export a C++ method with type qualification for 2-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName)
 Export a C++ method with type qualification for 3-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName)
 Export a C++ method with type qualification for 4-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName)
 Export a C++ method with type qualification for 5-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName)
 Export a C++ method with type qualification for 6-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName)
 Export a C++ method with type qualification for 7-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName)
 Export a C++ method with type qualification for 8-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName)
 Export a C++ method with type qualification for 9-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName)
 Export a C++ method with type qualification for 10-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_11(i_cppClass, i_cppMethod, 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_methodName)
 Export a C++ method with type qualification for 11-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_12(i_cppClass, i_cppMethod, 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_methodName)
 Export a C++ method with type qualification for 12-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_13(i_cppClass, i_cppMethod, 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_methodName)
 Export a C++ method with type qualification for 13-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_14(i_cppClass, i_cppMethod, 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_methodName)
 Export a C++ method with type qualification for 14-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_NAME_15(i_cppClass, i_cppMethod, 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_methodName)
 Export a C++ method with type qualification for 15-parameter methods and custom name (no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_doc)
 Export a C++ method with type qualification and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_0(i_cppClass, i_cppMethod, t_return, s_doc)
 Export a C++ method with type qualification for 0-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_doc)
 Export a C++ method with type qualification for 1-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_doc)
 Export a C++ method with type qualification for 2-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_doc)
 Export a C++ method with type qualification for 3-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
 Export a C++ method with type qualification for 4-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
 Export a C++ method with type qualification for 5-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
 Export a C++ method with type qualification for 6-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
 Export a C++ method with type qualification for 7-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
 Export a C++ method with type qualification for 8-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_9(i_cppClass, i_cppMethod, 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++ method with type qualification for 9-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_10(i_cppClass, i_cppMethod, 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++ method with type qualification for 10-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_11(i_cppClass, i_cppMethod, 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++ method with type qualification for 11-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_12(i_cppClass, i_cppMethod, 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++ method with type qualification for 12-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_13(i_cppClass, i_cppMethod, 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++ method with type qualification for 13-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_14(i_cppClass, i_cppMethod, 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++ method with type qualification for 14-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED_DOC_15(i_cppClass, i_cppMethod, 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++ method with type qualification for 15-parameter methods and custom documentation (method name derived from C++ method).
 
#define PY_CLASS_METHOD_QUALIFIED(i_cppClass, i_cppMethod, t_return, t_params)
 Export a C++ method with type qualification (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_0(i_cppClass, i_cppMethod, t_return)
 Export a C++ method with type qualification for 0-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_1(i_cppClass, i_cppMethod, t_return, t_P1)
 Export a C++ method with type qualification for 1-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2)
 Export a C++ method with type qualification for 2-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3)
 Export a C++ method with type qualification for 3-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4)
 Export a C++ method with type qualification for 4-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5)
 Export a C++ method with type qualification for 5-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Export a C++ method with type qualification for 6-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Export a C++ method with type qualification for 7-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Export a C++ method with type qualification for 8-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Export a C++ method with type qualification for 9-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_10(i_cppClass, i_cppMethod, 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++ method with type qualification for 10-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_11(i_cppClass, i_cppMethod, 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++ method with type qualification for 11-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_12(i_cppClass, i_cppMethod, 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++ method with type qualification for 12-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_13(i_cppClass, i_cppMethod, 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++ method with type qualification for 13-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_14(i_cppClass, i_cppMethod, 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++ method with type qualification for 14-parameter methods (method name derived from C++ method, no documentation).
 
#define PY_CLASS_METHOD_QUALIFIED_15(i_cppClass, i_cppMethod, 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++ method with type qualification for 15-parameter methods (method name derived from C++ method, no documentation).
 

Free Method Export Macros

Export C/C++ free functions as Python methods.

The first parameter of the free function becomes the implicit 'self' parameter and must be a pointer or reference (const or non-const) to the class being exported. This is particularly useful for shadow classes where adding methods directly to the class is undesirable or impossible.

#define PY_CLASS_FREE_METHOD_EX(t_cppClass, f_cppFreeMethod, s_methodName, s_doc, i_dispatcher)
 Export a C/C++ free function as a Python method with full control over all parameters.
 
#define PY_CLASS_FREE_METHOD_NAME_DOC(i_cppClass, f_cppFreeMethod, s_methodName, s_doc)
 Export a C/C++ free function as a Python method with custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_NAME(i_cppClass, f_cppFreeMethod, s_methodName)
 Export a C/C++ free function as a Python method with custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_DOC(i_cppClass, i_cppFreeMethod, s_doc)
 Export a C/C++ free function as a Python method with custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD(i_cppClass, i_cppFreeMethod)
 Export a C/C++ free function as a Python method (method name derived from function name, no documentation).
 

Type-Qualified Free Method Export Macros

Export C++ free functions as Python methods with explicit type qualification to resolve overload ambiguity.

These macros require explicit specification of return type and parameter types, making them suitable for overloaded free functions. The first parameter of the free function becomes the implicit 'self' parameter and must be a pointer or reference (const or non-const) to the class being exported.

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX(t_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with explicit type qualification and full parameter control.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_0(t_cppClass, f_cppFreeMethod, t_return, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 0-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_1(t_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 1-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_2(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 2-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_3(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 3-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_4(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 4-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_5(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 5-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_6(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 6-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_7(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 7-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_8(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 8-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_9(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 9-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_10(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 10-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_11(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 11-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_12(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 12-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_13(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 13-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_14(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 14-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_15(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
 Export a C++ free function as a Python method with type qualification for 15-parameter functions.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC(i_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_0(i_cppClass, f_cppFreeMethod, t_return, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 0-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_1(i_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 1-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_2(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 2-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_3(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 3-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_4(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 4-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_5(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 5-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_6(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 6-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_7(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 7-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_8(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 8-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_9(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 9-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_10(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 10-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_11(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 11-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_12(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 12-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_13(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 13-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_14(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 14-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_15(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
 Export a C++ free function as a Python method with type qualification for 15-parameter functions, custom name and documentation.
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME(i_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName)
 Export a C++ free function as a Python method with type qualification and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_0(i_cppClass, f_cppFreeMethod, t_return, s_methodName)
 Export a C++ free function as a Python method with type qualification for 0-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_1(i_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName)
 Export a C++ free function as a Python method with type qualification for 1-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_2(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName)
 Export a C++ free function as a Python method with type qualification for 2-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_3(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName)
 Export a C++ free function as a Python method with type qualification for 3-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_4(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName)
 Export a C++ free function as a Python method with type qualification for 4-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_5(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName)
 Export a C++ free function as a Python method with type qualification for 5-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_6(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName)
 Export a C++ free function as a Python method with type qualification for 6-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_7(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName)
 Export a C++ free function as a Python method with type qualification for 7-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_8(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName)
 Export a C++ free function as a Python method with type qualification for 8-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_9(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName)
 Export a C++ free function as a Python method with type qualification for 9-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_10(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName)
 Export a C++ free function as a Python method with type qualification for 10-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_11(i_cppClass, f_cppFreeMethod, 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_methodName)
 Export a C++ free function as a Python method with type qualification for 11-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_12(i_cppClass, f_cppFreeMethod, 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_methodName)
 Export a C++ free function as a Python method with type qualification for 12-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_13(i_cppClass, f_cppFreeMethod, 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_methodName)
 Export a C++ free function as a Python method with type qualification for 13-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_14(i_cppClass, f_cppFreeMethod, 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_methodName)
 Export a C++ free function as a Python method with type qualification for 14-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_15(i_cppClass, f_cppFreeMethod, 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_methodName)
 Export a C++ free function as a Python method with type qualification for 15-parameter functions and custom name (no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC(i_cppClass, i_cppFreeMethod, t_return, t_params, s_doc)
 Export a C++ free function as a Python method with type qualification and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_0(i_cppClass, i_cppFreeMethod, t_return, s_doc)
 Export a C++ free function as a Python method with type qualification for 0-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_1(i_cppClass, i_cppFreeMethod, t_return, t_P1, s_doc)
 Export a C++ free function as a Python method with type qualification for 1-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_2(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, s_doc)
 Export a C++ free function as a Python method with type qualification for 2-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_3(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_doc)
 Export a C++ free function as a Python method with type qualification for 3-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_4(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
 Export a C++ free function as a Python method with type qualification for 4-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_5(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
 Export a C++ free function as a Python method with type qualification for 5-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_6(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
 Export a C++ free function as a Python method with type qualification for 6-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_7(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
 Export a C++ free function as a Python method with type qualification for 7-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_8(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
 Export a C++ free function as a Python method with type qualification for 8-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_9(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 9-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_10(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 10-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_11(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 11-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_12(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 12-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_13(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 13-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_14(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 14-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_15(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 15-parameter functions and custom documentation (method name derived from function name).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED(i_cppClass, i_cppFreeMethod, t_return, t_params)
 Export a C++ free function as a Python method with type qualification (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_0(i_cppClass, i_cppFreeMethod, t_return)
 Export a C++ free function as a Python method with type qualification for 0-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_1(i_cppClass, i_cppFreeMethod, t_return, t_P1)
 Export a C++ free function as a Python method with type qualification for 1-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_2(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2)
 Export a C++ free function as a Python method with type qualification for 2-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_3(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3)
 Export a C++ free function as a Python method with type qualification for 3-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_4(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4)
 Export a C++ free function as a Python method with type qualification for 4-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_5(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5)
 Export a C++ free function as a Python method with type qualification for 5-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_6(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Export a C++ free function as a Python method with type qualification for 6-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_7(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Export a C++ free function as a Python method with type qualification for 7-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_8(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Export a C++ free function as a Python method with type qualification for 8-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_9(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Export a C++ free function as a Python method with type qualification for 9-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_10(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 10-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_11(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 11-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_12(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 12-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_13(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 13-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_14(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 14-parameter functions (method name derived from function name, no documentation).
 
#define PY_CLASS_FREE_METHOD_QUALIFIED_15(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 15-parameter functions (method name derived from function name, no documentation).
 

Casting Method Export Macros (Deprecated)

Deprecated
These casting method macros are deprecated. Use the regular or free method export macros instead.

Export C++ methods to Python with custom casting policies for type conversion. These macros allow on-the-fly type conversion using casting operators like PointerCast and CopyCast. However, these macros are deprecated and should be avoided in new code.

#define PY_CLASS_METHOD_CAST_EX_0(t_cppClass, i_cppMethod, t_return, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method to Python with custom casting policy and full parameter control.
 
#define PY_CLASS_METHOD_CAST_EX_1(t_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 1-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_2(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 2-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_3(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 3-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_4(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 4-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_5(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 5-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_6(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 6-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_7(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 7-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_8(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 8-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_9(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 9-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_10(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 10-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_11(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 11-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_12(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 12-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_13(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 13-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_14(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 14-parameter methods.
 
#define PY_CLASS_METHOD_CAST_EX_15(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
 Export a C++ method with casting policy for 15-parameter methods.
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_0(i_cppClass, i_cppMethod, t_return, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_0().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_1().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_2().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_3().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_4().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_5().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_6().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_7().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_8().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_9().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_10().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_11(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_11().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_12(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_12().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_13(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_13().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_14(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_14().
 
#define PY_CLASS_METHOD_CAST_NAME_DOC_15(i_cppClass, i_cppMethod, 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_methodName, s_doc)
 Convenience wrapper for PY_CLASS_METHOD_CAST_EX_15().
 
#define PY_CLASS_METHOD_CAST_NAME(i_cppClass, i_cppMethod, t_return, t_params, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_0(i_cppClass, i_cppMethod, t_return, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_11(i_cppClass, i_cppMethod, 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_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_12(i_cppClass, i_cppMethod, 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_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_13(i_cppClass, i_cppMethod, 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_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_14(i_cppClass, i_cppMethod, 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_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_NAME_15(i_cppClass, i_cppMethod, 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_methodName)
 Convenience wrapper with no documentation.
 
#define PY_CLASS_METHOD_CAST_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_0(i_cppClass, i_cppMethod, t_return, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_doc)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_11(i_cppClass, i_cppMethod, 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)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_12(i_cppClass, i_cppMethod, 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)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_13(i_cppClass, i_cppMethod, 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)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_14(i_cppClass, i_cppMethod, 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)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST_DOC_15(i_cppClass, i_cppMethod, 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)
 Convenience wrapper with method name derived from C++ method.
 
#define PY_CLASS_METHOD_CAST(i_cppClass, i_cppMethod, t_return, t_params)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_0(i_cppClass, i_cppMethod, t_return)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_1(i_cppClass, i_cppMethod, t_return, t_P1)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_11(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_12(i_cppClass, i_cppMethod, 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)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_13(i_cppClass, i_cppMethod, 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)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_14(i_cppClass, i_cppMethod, 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)
 Basic convenience wrapper with minimal parameters.
 
#define PY_CLASS_METHOD_CAST_15(i_cppClass, i_cppMethod, 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)
 Basic convenience wrapper with minimal parameters.
 

Static Method Export Macros

Export C++ static methods or free functions as Python static methods (class methods).

Static methods are called on the class itself rather than on instances, and do not receive an implicit 'self' parameter. Both C++ static member functions and free functions can be exported as static methods.

#define PY_CLASS_STATIC_METHOD_EX(t_cppClass, f_cppFunction, s_methodName, s_doc, i_dispatcher)
 Export a C++ function as a Python static method with full parameter control.
 
#define PY_CLASS_STATIC_METHOD_DOC(i_cppClass, i_cppMethod, s_doc)
 Export a C++ static method with custom documentation (method name derived from C++ method).
 
#define PY_CLASS_STATIC_METHOD_NAME_DOC(i_cppClass, i_cppMethod, s_methodName, s_doc)
 Export a C++ static method with custom name and documentation.
 
#define PY_CLASS_STATIC_METHOD_NAME(i_cppClass, i_cppMethod, s_methodName)
 Export a C++ static method with custom name (no documentation).
 
#define PY_CLASS_STATIC_METHOD(i_cppClass, i_cppMethod)
 Export a C++ static method (method name derived from C++ method, no documentation).
 

Data Member Export Macros

Export C++ class data members as Python properties/attributes.

These macros create Python properties that provide access to C++ class data through various access patterns: getter/setter methods, free functions, or direct public member access.

Member Methods (Read/Write) Member Methods (Read-only) Free Functions (Read/Write) Free Functions (Read-only) Public Member (Read/Write) Public Member (Read-only)
PY_CLASS_MEMBER_RW_EX() PY_CLASS_MEMBER_R_EX() PY_CLASS_FREE_MEMBER_RW_EX() PY_CLASS_FREE_MEMBER_R_EX() PY_CLASS_PUBLIC_MEMBER_EX() PY_CLASS_PUBLIC_MEMBER_R_EX()
PY_CLASS_MEMBER_RW_NAME_DOC() PY_CLASS_MEMBER_R_NAME_DOC() PY_CLASS_FREE_MEMBER_RW_NAME_DOC() PY_CLASS_FREE_MEMBER_R_NAME_DOC() PY_CLASS_PUBLIC_MEMBER_NAME_DOC() PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC()
PY_CLASS_MEMBER_RW_NAME() PY_CLASS_MEMBER_R_NAME() PY_CLASS_FREE_MEMBER_RW_NAME() PY_CLASS_FREE_MEMBER_R_NAME() PY_CLASS_PUBLIC_MEMBER_NAME() PY_CLASS_PUBLIC_MEMBER_R_NAME()
PY_CLASS_MEMBER_RW_DOC() PY_CLASS_MEMBER_R_DOC() PY_CLASS_FREE_MEMBER_RW_DOC() PY_CLASS_FREE_MEMBER_R_DOC() PY_CLASS_PUBLIC_MEMBER_DOC() PY_CLASS_PUBLIC_MEMBER_R_DOC()
PY_CLASS_MEMBER_RW() PY_CLASS_MEMBER_R() PY_CLASS_FREE_MEMBER_RW() PY_CLASS_FREE_MEMBER_R() PY_CLASS_PUBLIC_MEMBER() PY_CLASS_PUBLIC_MEMBER_R()
#define PY_CLASS_MEMBER_RW_EX(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, s_doc, i_dispatcher)
 Export getter/setter method pair as read/write Python property with full control.
 
#define PY_CLASS_MEMBER_RW_NAME_DOC(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, s_doc)
 Export getter/setter method pair as read/write Python property with custom name and documentation.
 
#define PY_CLASS_MEMBER_RW_NAME(t_cppClass, i_cppGetter, i_cppSetter, s_memberName)
 Export getter/setter method pair as read/write Python property with custom name (no documentation).
 
#define PY_CLASS_MEMBER_RW_DOC(t_cppClass, i_cppGetter, i_cppSetter, s_doc)
 Export getter/setter method pair as read/write Python property (name derived from getter, with documentation).
 
#define PY_CLASS_MEMBER_RW(t_cppClass, i_cppGetter, i_cppSetter)
 Export getter/setter method pair as read/write Python property (name derived from getter, no documentation).
 
#define PY_CLASS_MEMBER_R_EX(t_cppClass, i_cppGetter, s_memberName, s_doc, i_dispatcher)
 Export getter method as read-only Python property with full control.
 
#define PY_CLASS_MEMBER_R_NAME_DOC(t_cppClass, i_cppGetter, s_memberName, s_doc)
 Export getter method as read-only Python property with custom name and documentation.
 
#define PY_CLASS_MEMBER_R_NAME(t_cppClass, i_cppGetter, s_memberName)
 Export getter method as read-only Python property with custom name (no documentation).
 
#define PY_CLASS_MEMBER_R_DOC(t_cppClass, i_cppGetter, s_doc)
 Export getter method as read-only Python property (name derived from getter, with documentation).
 
#define PY_CLASS_MEMBER_R(t_cppClass, i_cppGetter)
 Export getter method as read-only Python property using method name.
 
#define PY_CLASS_FREE_MEMBER_RW_EX(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, s_doc, i_dispatcher)
 Export free function accessors as read-write Python property.
 
#define PY_CLASS_FREE_MEMBER_RW_NAME_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, s_doc)
 Export free function accessors as read-write Python property with custom name and documentation.
 
#define PY_CLASS_FREE_MEMBER_RW_NAME(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName)
 Export free function accessors as read-write Python property with custom name.
 
#define PY_CLASS_FREE_MEMBER_RW_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_doc)
 Export free function accessors as read-write Python property using function name.
 
#define PY_CLASS_FREE_MEMBER_RW(t_cppClass, i_cppFreeGetter, i_cppFreeSetter)
 Export free function accessors as read-write Python property using function name.
 
#define PY_CLASS_FREE_MEMBER_R_EX(t_cppClass, i_freeCppGetter, s_memberName, s_doc, i_dispatcher)
 Export free function accessor as read-only Python property.
 
#define PY_CLASS_FREE_MEMBER_R_NAME_DOC(t_cppClass, i_freeCppGetter, s_memberName, s_doc)
 Export free function accessor as read-only Python property with custom name and documentation.
 
#define PY_CLASS_FREE_MEMBER_R_NAME(t_cppClass, i_freeCppGetter, s_memberName)
 Export free function accessor as read-only Python property with custom name.
 
#define PY_CLASS_FREE_MEMBER_R_DOC(t_cppClass, i_freeCppGetter, s_doc)
 Export free function accessor as read-only Python property using function name.
 
#define PY_CLASS_FREE_MEMBER_R(t_cppClass, i_freeCppGetter)
 Export free function accessor as read-only Python property using function name.
 
#define PY_CLASS_PUBLIC_MEMBER_EX(t_cppClass, i_cppMember, s_memberName, s_doc, i_dispatcher)
 Export public data member as read-write Python property.
 
#define PY_CLASS_PUBLIC_MEMBER_NAME_DOC(i_cppClass, i_cppMember, s_memberName, s_doc)
 Export public data member as read-write Python property with custom name and documentation.
 
#define PY_CLASS_PUBLIC_MEMBER_NAME(i_cppClass, i_cppMember, s_memberName)
 Export public data member as read-write Python property with custom name.
 
#define PY_CLASS_PUBLIC_MEMBER_DOC(i_cppClass, i_cppMember, s_doc)
 Export public data member as read-write Python property using member name.
 
#define PY_CLASS_PUBLIC_MEMBER(i_cppClass, i_cppMember)
 Export public data member as read-write Python property using member name.
 
#define PY_CLASS_PUBLIC_MEMBER_R_EX(t_cppClass, i_cppMember, s_memberName, s_doc, i_dispatcher)
 Export public data member as read-only Python property.
 
#define PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC(i_cppClass, i_cppMember, s_memberName, s_doc)
 Export public data member as read-only Python property with custom name and documentation.
 
#define PY_CLASS_PUBLIC_MEMBER_R_NAME(i_cppClass, i_cppMember, s_memberName)
 Export public data member as read-only Python property with custom name.
 
#define PY_CLASS_PUBLIC_MEMBER_R_DOC(i_cppClass, i_cppMember, s_doc)
 Export public data member as read-only Python property using member name.
 
#define PY_CLASS_PUBLIC_MEMBER_R(i_cppClass, i_cppMember)
 Export public data member as read-only Python property using member name.
 

Constructor Export Macros

Export C++ constructors directly as Python class constructors.

These macros make abstract Python classes concrete by adding constructors that can create instances from Python code using the actual C++ constructors.

Standard Constructor Export:

Convenience Macros by Parameter Count:

#define PY_CLASS_CONSTRUCTOR_EX(t_cppClass, t_params, i_dispatcher)
 Export C++ constructor as Python class constructor with full control.
 
#define PY_CLASS_CONSTRUCTOR(i_cppClass, t_params)
 Export C++ constructor as Python class constructor.
 
#define PY_CLASS_CONSTRUCTOR_0(t_cppClass)
 Export C++ default constructor as Python class constructor.
 
#define PY_CLASS_CONSTRUCTOR_1(t_cppClass, t_P1)
 Export C++ constructor as Python class constructor with 1 parameters.
 
#define PY_CLASS_CONSTRUCTOR_2(t_cppClass, t_P1, t_P2)
 Export C++ constructor as Python class constructor with 2 parameters.
 
#define PY_CLASS_CONSTRUCTOR_3(t_cppClass, t_P1, t_P2, t_P3)
 Export C++ constructor as Python class constructor with 3 parameters.
 
#define PY_CLASS_CONSTRUCTOR_4(t_cppClass, t_P1, t_P2, t_P3, t_P4)
 Export C++ constructor as Python class constructor with 4 parameters.
 
#define PY_CLASS_CONSTRUCTOR_5(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5)
 Export C++ constructor as Python class constructor with 5 parameters.
 
#define PY_CLASS_CONSTRUCTOR_6(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Export C++ constructor as Python class constructor with 6 parameters.
 
#define PY_CLASS_CONSTRUCTOR_7(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Export C++ constructor as Python class constructor with 7 parameters.
 
#define PY_CLASS_CONSTRUCTOR_8(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Export C++ constructor as Python class constructor with 8 parameters.
 
#define PY_CLASS_CONSTRUCTOR_9(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Export C++ constructor as Python class constructor with 9 parameters.
 
#define PY_CLASS_CONSTRUCTOR_10(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10)
 Export C++ constructor as Python class constructor with 10 parameters.
 
#define PY_CLASS_CONSTRUCTOR_11(t_cppClass, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11)
 Export C++ constructor as Python class constructor with 11 parameters.
 
#define PY_CLASS_CONSTRUCTOR_12(t_cppClass, 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 C++ constructor as Python class constructor with 12 parameters.
 
#define PY_CLASS_CONSTRUCTOR_13(t_cppClass, 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 C++ constructor as Python class constructor with 13 parameters.
 
#define PY_CLASS_CONSTRUCTOR_14(t_cppClass, 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 C++ constructor as Python class constructor with 14 parameters.
 
#define PY_CLASS_CONSTRUCTOR_15(t_cppClass, 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 C++ constructor as Python class constructor with 15 parameters.
 

Free Function Constructor Export Macros

Export factory functions as Python class constructors.

These macros allow C++ functions that return instances of a class to be used as Python constructors. This is useful when you need special construction logic or when the actual constructor is not accessible from Python.

These factory function constructors appear as regular constructors to Python code, but are implemented using C++ functions rather than actual constructors. The functions must return an instance of the target class.

#define PY_CLASS_FREE_CONSTRUCTOR_EX(t_cppClass, f_cppFunction, t_params, i_dispatcher)
 Export C++ factory function as Python constructor with full control.
 
#define PY_CLASS_FREE_CONSTRUCTOR(i_cppClass, f_cppFunction, t_params)
 Convenience wrapper for PY_CLASS_FREE_CONSTRUCTOR_EX.
 
#define PY_CLASS_FREE_CONSTRUCTOR_0(t_cppClass, f_cppFunction)
 Export C++ factory function as Python constructor with 0 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_1(t_cppClass, f_cppFunction, t_P1)
 Export C++ factory function as Python constructor with 1 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_2(t_cppClass, f_cppFunction, t_P1, t_P2)
 Export C++ factory function as Python constructor with 2 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_3(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3)
 Export C++ factory function as Python constructor with 3 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_4(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4)
 Export C++ factory function as Python constructor with 4 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_5(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5)
 Export C++ factory function as Python constructor with 5 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_6(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6)
 Export C++ factory function as Python constructor with 6 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_7(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7)
 Export C++ factory function as Python constructor with 7 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_8(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8)
 Export C++ factory function as Python constructor with 8 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_9(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9)
 Export C++ factory function as Python constructor with 9 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_10(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10)
 Export C++ factory function as Python constructor with 10 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_11(t_cppClass, f_cppFunction, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, t_P11)
 Export C++ factory function as Python constructor with 11 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_12(t_cppClass, f_cppFunction, 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 C++ factory function as Python constructor with 12 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_13(t_cppClass, f_cppFunction, 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 C++ factory function as Python constructor with 13 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_14(t_cppClass, f_cppFunction, 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 C++ factory function as Python constructor with 14 parameters.
 
#define PY_CLASS_FREE_CONSTRUCTOR_15(t_cppClass, f_cppFunction, 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 C++ factory function as Python constructor with 15 parameters.
 

Macro Definition Documentation

◆ PY_DECLARE_CLASS_NAME_DOC

#define PY_DECLARE_CLASS_NAME_DOC ( t_cppClass,
s_className,
s_doc )
Value:
::lass::python::impl::ClassDefinition t_cppClass ::_lassPyClassDef( \
s_className, s_doc, sizeof(t_cppClass), \
::lass::python::impl::richCompareDispatcher< t_cppClass >,\
& t_cppClass ::_lassPyParentType::_lassPyClassDef, \
& t_cppClass ::_lassPyClassRegisterHook);
Definition of a Python class.

Declare a Python class with full control over name and documentation.

This is the primary class declaration macro that creates the internal ClassDefinition object for a C++ class. All other class declaration macros ultimately call this one. The class definition collects constructors, methods, properties, and other elements that will be added later using PY_CLASS_* macros.

Parameters
t_cppClassPython binding class type. This must be either:
  • A class directly inheriting from PyObjectPlus, or
  • A shadow class created with PY_SHADOW_CLASS macros. Never pass the underlying native C++ shadowed type.
s_classNamePython class name as string literal
s_docClass documentation string (or nullptr for no doc)
Remarks
This macro must be used exactly once per class and only in source files, never in headers!

Native Python Class Example:

PY_DECLARE_CLASS_NAME_DOC(MyClass, "MyClass", "A sample native Python class")

Shadow Class Example:

PY_DECLARE_CLASS_NAME_DOC(PyShadowLegacy, "LegacyClass", "Wrapper for LegacyClass")

Definition at line 2790 of file pyobject_macros.h.

◆ PY_DECLARE_CLASS_NAME

#define PY_DECLARE_CLASS_NAME ( t_cppClass,
s_className )
Value:
PY_DECLARE_CLASS_NAME_DOC( t_cppClass, s_className, 0 )

Declare a Python class with custom name but no documentation.

Convenience wrapper around PY_DECLARE_CLASS_NAME_DOC that omits the documentation string. Use this when you want to control the Python class name but don't need documentation.

Parameters
t_cppClassPython binding class type (PyObjectPlus-derived or shadow class)
s_classNamePython class name as string literal

Example:

PY_DECLARE_CLASS_NAME(MyClass, "MyClass")
#define PY_DECLARE_CLASS_NAME(t_cppClass, s_className)
Declare a Python class with custom name but no documentation.

Definition at line 2812 of file pyobject_macros.h.

◆ PY_DECLARE_CLASS_DOC

#define PY_DECLARE_CLASS_DOC ( i_cppClass,
s_doc )
Value:
PY_DECLARE_CLASS_NAME_DOC( i_cppClass, LASS_STRINGIFY(i_cppClass), s_doc )

Declare a Python class with automatic name and custom documentation.

Convenience wrapper that uses the C++ class name as the Python class name but allows custom documentation. The class name is automatically stringified.

Parameters
i_cppClassPython-exportable C++ class identifier (unqualified name)
s_docClass documentation string

Example:

PY_DECLARE_CLASS_DOC(MyClass, "A sample class for demonstration")
// Creates Python class named "MyClass"

Definition at line 2831 of file pyobject_macros.h.

◆ PY_DECLARE_CLASS

#define PY_DECLARE_CLASS ( i_cppClass)
Value:
PY_DECLARE_CLASS_NAME_DOC( i_cppClass, LASS_STRINGIFY(i_cppClass), 0 )

Declare a Python class with automatic name and no documentation.

The simplest class declaration macro. Uses the C++ class name as the Python class name and provides no documentation string. Most commonly used for basic class exports.

Parameters
i_cppClassPython binding class identifier (unqualified name)

Example:

// Creates Python class named "MyClass" with no documentation
#define PY_DECLARE_CLASS(i_cppClass)
Declare a Python class with automatic name and no documentation.

Definition at line 2849 of file pyobject_macros.h.

◆ PY_DECLARE_CLASS_EX

#define PY_DECLARE_CLASS_EX ( t_cppClass,
s_className,
i_uniqueClassIdentifier )
Value:
PY_DECLARE_CLASS_NAME_DOC( t_cppClass, s_className, 0 )

Legacy class declaration macro.

Parameters
t_cppClassPython binding class type
s_classNamePython class name
i_uniqueClassIdentifierUnused parameter (legacy)
Deprecated
This macro is deprecated and should not be used in new code. Use PY_DECLARE_CLASS_NAME_DOC instead.

Definition at line 2862 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_CONST

#define PY_CLASS_STATIC_CONST ( i_cppClass,
s_name,
v_value )
Value:
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE( lassExecutePyClassStaticConst, i_cppClass ),\
i_cppClass ::_lassPyClassDef.addStaticConst(s_name, v_value);\
)

Export a static constant value as a class attribute.

Adds a static constant to a Python class that can be accessed as a class attribute. The constant value is converted to a Python object at module initialization time and becomes accessible via the class in Python.

Parameters
i_cppClassPython binding class identifier (must be declared with PY_DECLARE_CLASS_*)
s_nameName of the constant as it will appear in Python (string literal)
v_valueThe constant value to export (must be convertible via PyExportTraits::build)

Example:

class MyClass: public PyObjectPlus { ... };
PY_CLASS_STATIC_CONST(MyClass, "PI", 3.14159)
PY_CLASS_STATIC_CONST(MyClass, "MAX_SIZE", 1024)
// In Python:
// MyClass.PI == 3.14159
// MyClass.MAX_SIZE == 1024

Definition at line 2963 of file pyobject_macros.h.

◆ PY_CLASS_INNER_CLASS_EX

#define PY_CLASS_INNER_CLASS_EX ( t_outerCppClass,
t_innerCppClass,
s_name,
s_doc,
i_uniqueSuffix )
Value:
LASS_EXECUTE_BEFORE_MAIN_EX( LASS_CONCATENATE(lassPythonImplExecuteBeforeMain_, i_uniqueSuffix),\
t_innerCppClass::_lassPyClassDef.setDocIfNotNull(s_doc);\
t_outerCppClass::_lassPyClassDef.addInnerClass(t_innerCppClass::_lassPyClassDef);\
)

Exports an inner class with full customization of name, documentation, and symbol suffix.

This is the most flexible inner class macro, allowing complete control over all parameters. The inner class becomes accessible as an attribute of the outer class in Python.

Parameters
t_outerCppClassC++ class that will contain the inner class
t_innerCppClassC++ class to be exported as inner class
s_namePython name for the inner class (null-terminated C string literal)
s_docPython docstring for the inner class (null-terminated C string literal, may be nullptr)
i_uniqueSuffixUnique C++ identifier to generate unique symbols for the registration code. This prevents symbol collisions when multiple inner class exports exist.
// Export Inner as nested class of Outer with custom name
PY_CLASS_INNER_CLASS_EX(Outer, Inner, "CustomInner", "Inner class documentation", MyUniqueSuffix)
// Python: outer_instance.CustomInner
#define PY_CLASS_INNER_CLASS_EX(t_outerCppClass, t_innerCppClass, s_name, s_doc, i_uniqueSuffix)
Exports an inner class with full customization of name, documentation, and symbol suffix.

Definition at line 3018 of file pyobject_macros.h.

◆ PY_CLASS_INNER_CLASS_NAME_DOC

#define PY_CLASS_INNER_CLASS_NAME_DOC ( i_outerCppClass,
i_innerCppClass,
s_name,
s_doc )
Value:
PY_CLASS_INNER_CLASS_EX( i_outerCppClass, i_innerCppClass, s_name, s_doc,\
LASS_CONCATENATE(i_outerCppClass, i_innerCppClass) )

Exports an inner class with custom name and documentation.

Convenience macro that automatically generates a unique suffix from the class names. Provides full control over the Python name and documentation string.

Parameters
i_outerCppClassC++ class that will contain the inner class
i_innerCppClassC++ class to be exported as inner class
s_namePython name for the inner class (null-terminated C string literal)
s_docPython docstring for the inner class (null-terminated C string literal, may be nullptr)
Deprecated
You should be setting the doc when declaring the innerclass ...
PY_CLASS_INNER_CLASS_NAME_DOC(Outer, Inner, "NestedClass", "Documentation")
// Python: outer_instance.NestedClass
#define PY_CLASS_INNER_CLASS_NAME_DOC(i_outerCppClass, i_innerCppClass, s_name, s_doc)
Exports an inner class with custom name and documentation.

Definition at line 3042 of file pyobject_macros.h.

◆ PY_CLASS_INNER_CLASS_NAME

#define PY_CLASS_INNER_CLASS_NAME ( i_outerCppClass,
i_innerCppClass,
s_name )
Value:
PY_CLASS_INNER_CLASS_NAME_DOC( i_outerCppClass, i_innerCppClass, s_name, 0)

Exports an inner class with custom name but no documentation.

Convenience macro for cases where you want to customize the Python name but don't need to provide additional documentation.

Parameters
i_outerCppClassC++ class that will contain the inner class
i_innerCppClassC++ class to be exported as inner class
s_namePython name for the inner class (null-terminated C string literal)
PY_CLASS_INNER_CLASS_NAME(Outer, Inner, "CustomName")
// Python: outer_instance.CustomName
#define PY_CLASS_INNER_CLASS_NAME(i_outerCppClass, i_innerCppClass, s_name)
Exports an inner class with custom name but no documentation.

Definition at line 3061 of file pyobject_macros.h.

◆ PY_CLASS_INNER_CLASS_DOC

#define PY_CLASS_INNER_CLASS_DOC ( i_outerCppClass,
i_innerCppClass,
s_doc )
Value:
PY_CLASS_INNER_CLASS_NAME_DOC( i_outerCppClass, i_innerCppClass, LASS_STRINGIFY(i_innerCppClass), s_doc)

Exports an inner class with default name and custom documentation.

The inner class will use its C++ class name as the Python name, but allows you to provide custom documentation.

Parameters
i_outerCppClassC++ class that will contain the inner class
i_innerCppClassC++ class to be exported as inner class
s_docPython docstring for the inner class (null-terminated C string literal)
Deprecated
You should be setting the doc when declaring the innerclass ...
PY_CLASS_INNER_CLASS_DOC(Outer, Inner, "Custom documentation")
// Python: outer_instance.Inner (with custom doc)
#define PY_CLASS_INNER_CLASS_DOC(i_outerCppClass, i_innerCppClass, s_doc)
Exports an inner class with default name and custom documentation.

Definition at line 3081 of file pyobject_macros.h.

◆ PY_CLASS_INNER_CLASS

#define PY_CLASS_INNER_CLASS ( i_outerCppClass,
i_innerCppClass )
Value:
PY_CLASS_INNER_CLASS_NAME_DOC( i_outerCppClass, i_innerCppClass, LASS_STRINGIFY(i_innerCppClass), 0)

Exports an inner class with default name and no documentation.

The simplest inner class export macro. Uses the C++ class name as the Python name and doesn't provide additional documentation beyond what was set during class declaration.

Parameters
i_outerCppClassC++ class that will contain the inner class
i_innerCppClassC++ class to be exported as inner class
PY_CLASS_INNER_CLASS(Outer, Inner)
// Python: outer_instance.Inner

Definition at line 3098 of file pyobject_macros.h.

◆ PY_CLASS_PY_METHOD_EX

#define PY_CLASS_PY_METHOD_EX ( i_cppClass,
i_cppMethod,
s_methodName,
s_doc )
Value:
static ::lass::python::impl::OverloadLink LASS_CONCATENATE_3( staticDispatchOverloadChain, i_cppClass, i_cppMethod);\
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE_3( staticDispatch, i_cppClass, i_cppMethod) ( PyObject* iObject, PyObject* iArgs )\
{\
if (!PyType_IsSubtype(iObject->ob_type , i_cppClass::_lassPyClassDef.type() ))\
{\
PyErr_Format(PyExc_TypeError,"PyObject not castable to %s", i_cppClass::_lassPyClassDef.name());\
return 0;\
}\
i_cppClass* object = static_cast<i_cppClass*>(iObject);\
return object->i_cppMethod( iArgs );\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE_3( lassExecutePyClassPyMethod_, i_cppClass, i_cppMethod ),\
i_cppClass::_lassPyClassDef.addMethod(\
s_methodName, s_doc, \
LASS_CONCATENATE_3( staticDispatch, i_cppClass, i_cppMethod),\
LASS_CONCATENATE_3( staticDispatchOverloadChain, i_cppClass, i_cppMethod));\
)

Export a C++ method that returns raw PyObject* to Python.

Use this macro when you need a method that returns Python-specific objects or handles Python types directly. The C++ method must return PyObject* and accept PyObject* arguments directly.

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (must return PyObject* and take PyObject* args)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
Deprecated
Use PY_CLASS_METHOD_EX() instead for automatic wrapper generation
class Foo {
PY_HEADER(python::PyObjectPlus)
public:
PyObject* specialPythonMethod(PyObject* args); // Returns PyObject* directly
};
PY_CLASS_PY_METHOD_EX(Foo, specialPythonMethod, "special", nullptr)
// Python: foo_instance.special(args)
#define PY_CLASS_PY_METHOD_EX(i_cppClass, i_cppMethod, s_methodName, s_doc)
Export a C++ method that returns raw PyObject* to Python.

Definition at line 3161 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_EX

#define PY_CLASS_METHOD_EX ( t_cppClass,
i_cppMethod,
s_methodName,
s_doc,
i_dispatcher )
Value:
PY_CLASS_METHOD_IMPL(t_cppClass, &TCppClass::i_cppMethod, s_methodName, s_doc, i_dispatcher,\
::lass::python::impl::CallMethod<TShadowTraits>::call)

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

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

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function

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

class Foo {
PY_HEADER(python::PyObjectPlus)
public:
void barA(int a);
void barB(const std::string& b) const;
Foo operator+(const Foo& other) const;
};
// Regular method export with custom name
PY_CLASS_METHOD_EX(Foo, barA, "bar", nullptr, foo_bar_a)
PY_CLASS_METHOD_EX(Foo, barB, "bar", nullptr, foo_bar_b)
// Special method export using lass::python::methods constants
PY_CLASS_METHOD_EX(Foo, operator+, lass::python::methods::_add_, nullptr, foo_add)
// Python: foo_instance.bar(42) or foo_instance.bar("hello")
// Python: result = foo_a + foo_b (calls operator+)
const lass::python::impl::BinarySlot _add_("__add__", Py_nb_add)
__add__ method (binary addition)
Note
For most special methods (like __add__, __str__, etc.), you must use the special method names defined in lass::python::methods namespace to ensure correct behavior. Regular string names like "__add__" will not work for these special methods.

Definition at line 3224 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_NAME_DOC

#define PY_CLASS_METHOD_NAME_DOC ( i_cppClass,
i_cppMethod,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
PY_CLASS_METHOD_NAME_DOC(Foo, calculate, "compute", "Performs calculation")
// Python: foo_instance.compute()
#define PY_CLASS_METHOD_NAME_DOC(i_cppClass, i_cppMethod, s_methodName, s_doc)
Export a C++ method to Python with custom name and documentation.
See also
PY_CLASS_METHOD_EX

Definition at line 3245 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_NAME

#define PY_CLASS_METHOD_NAME ( i_cppClass,
i_cppMethod,
s_methodName )
Value:
PY_CLASS_METHOD_NAME_DOC( i_cppClass, i_cppMethod, s_methodName, 0 )

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
PY_CLASS_METHOD_NAME(Foo, calculate, "compute")
// Python: foo_instance.compute()
See also
PY_CLASS_METHOD_EX

Definition at line 3266 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_DOC

#define PY_CLASS_METHOD_DOC ( i_cppClass,
i_cppMethod,
s_doc )
Value:
PY_CLASS_METHOD_NAME_DOC( i_cppClass, i_cppMethod, LASS_STRINGIFY(i_cppMethod), s_doc)

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

Convenience macro that wraps PY_CLASS_METHOD_NAME_DOC() with s_methodName derived from i_cppMethod.

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (name will be used as Python name)
s_docMethod documentation string (null-terminated C string literal)
PY_CLASS_METHOD_DOC(Foo, calculate, "Performs calculation")
// Python: foo_instance.calculate()
See also
PY_CLASS_METHOD_EX

Definition at line 3285 of file pyobject_macros.h.

◆ PY_CLASS_METHOD

#define PY_CLASS_METHOD ( i_cppClass,
i_cppMethod )
Value:
PY_CLASS_METHOD_DOC( i_cppClass, i_cppMethod, 0 )

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

The simplest method export macro. Uses the C++ method name as the Python name and doesn't provide additional documentation.

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (name will be used as Python name)
PY_CLASS_METHOD(Foo, calculate)
// Python: foo_instance.calculate()
See also
PY_CLASS_METHOD_EX

Definition at line 3304 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX

#define PY_CLASS_METHOD_QUALIFIED_EX ( t_cppClass,
i_cppMethod,
t_return,
t_params,
s_methodName,
s_doc,
i_dispatcher )
Value:
static ::lass::python::impl::OverloadLink LASS_CONCATENATE(i_dispatcher, _overloadChain);\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher(PyObject* iObject, PyObject* iArgs)\
{\
PyObject* result = 0;\
if (LASS_CONCATENATE(i_dispatcher, _overloadChain)(iObject, iArgs, result))\
{\
return result;\
}\
LASS_ASSERT(result == 0);\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
typedef TShadowTraits::TCppClass TCppClass;\
return ::lass::python::impl::ExplicitResolver<TShadowTraits,t_return,t_params>::callMethod(\
iArgs, iObject, &TCppClass::i_cppMethod); \
}\
LASS_EXECUTE_BEFORE_MAIN_EX(LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addMethod(\
s_methodName, s_doc, \
::lass::python::impl::FunctionTypeDispatcher< SPECIAL_SLOT_TYPE(s_methodName) , i_dispatcher>::fun,\
LASS_CONCATENATE(i_dispatcher, _overloadChain));\
)

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

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

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function

This macro helps resolve method overload ambiguities by explicitly specifying the method signature to export. Overloads can be mixed with PY_CLASS_METHOD_EX methods.

class Foo {
PY_HEADER(python::PyObjectPlus)
public:
void bar(int a);
void bar(const std::string& b) const;
};
PY_CLASS_METHOD_QUALIFIED_EX(Foo, bar, void, meta::TypeTuple<int>, "bar", nullptr, foo_bar_a)
PY_CLASS_METHOD_QUALIFIED_EX(Foo, bar, void, meta::TypeTuple<const std::string&>, "bar", nullptr, foo_bar_b)
// Python: foo_instance.bar(42) or foo_instance.bar("hello")
#define PY_CLASS_METHOD_QUALIFIED_EX(t_cppClass, i_cppMethod, t_return, t_params, s_methodName, s_doc, i_dispatcher)
Export a C++ method to Python with explicit type qualification to resolve ambiguities.

Definition at line 3368 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_0

#define PY_CLASS_METHOD_QUALIFIED_EX_0 ( t_cppClass,
i_cppMethod,
t_return,
s_methodName,
s_doc,
i_dispatcher )
Value:
t_cppClass, i_cppMethod, t_return, ::lass::meta::TypeTuple<>, s_methodName, s_doc, i_dispatcher )

Export a C++ method with type qualification for 0-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with 0 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (0 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3405 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_1

#define PY_CLASS_METHOD_QUALIFIED_EX_1 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 1-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 1 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (1 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3424 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_2

#define PY_CLASS_METHOD_QUALIFIED_EX_2 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 2-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 2 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (2 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3447 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_3

#define PY_CLASS_METHOD_QUALIFIED_EX_3 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 3-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 3 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (3 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3470 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_4

#define PY_CLASS_METHOD_QUALIFIED_EX_4 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 4-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 4 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (4 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3493 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_5

#define PY_CLASS_METHOD_QUALIFIED_EX_5 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 5-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 5 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (5 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3516 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_6

#define PY_CLASS_METHOD_QUALIFIED_EX_6 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 6-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 6 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (6 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3539 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_7

#define PY_CLASS_METHOD_QUALIFIED_EX_7 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 7-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 7 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (7 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3562 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_8

#define PY_CLASS_METHOD_QUALIFIED_EX_8 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 8-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 8 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (8 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3585 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_9

#define PY_CLASS_METHOD_QUALIFIED_EX_9 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 9-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 9 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (9 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3608 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_10

#define PY_CLASS_METHOD_QUALIFIED_EX_10 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 10-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 10 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (10 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3631 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_11

#define PY_CLASS_METHOD_QUALIFIED_EX_11 ( t_cppClass,
i_cppMethod,
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_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 11-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 11 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (11 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3654 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_12

#define PY_CLASS_METHOD_QUALIFIED_EX_12 ( t_cppClass,
i_cppMethod,
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_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 12-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 12 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (12 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3677 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_13

#define PY_CLASS_METHOD_QUALIFIED_EX_13 ( t_cppClass,
i_cppMethod,
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_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 13-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 13 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (13 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3700 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_14

#define PY_CLASS_METHOD_QUALIFIED_EX_14 ( t_cppClass,
i_cppMethod,
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_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 14-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 14 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (14 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3723 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_EX_15

#define PY_CLASS_METHOD_QUALIFIED_EX_15 ( t_cppClass,
i_cppMethod,
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_methodName,
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_CLASS_METHOD_QUALIFIED_EX(\
t_cppClass, i_cppMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ method with type qualification for 15-parameter methods.

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_EX() for methods with exactly 15 parameters.

Parameters
t_cppClassC++ class containing the method
i_cppMethodC++ method name to export (15 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3746 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC ( i_cppClass,
i_cppMethod,
t_return,
t_params,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_params, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3769 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_0

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_0 ( i_cppClass,
i_cppMethod,
t_return,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_0(t_cppClass, i_cppMethod, t_return, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 0-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (0 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3787 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_1

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_1(t_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 1-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (1 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3806 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_2

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_2(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 2-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (2 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3825 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_3

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_3(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 3-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (3 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3844 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_4

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_4(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 4-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (4 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3863 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_5

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_5(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 5-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (5 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3882 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_6

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_6(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 6-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (6 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3901 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_7

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_7(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 7-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (7 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3920 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_8

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_8(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 8-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (8 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3939 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_9

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_9(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 9-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (9 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3958 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_10

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_10(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 10-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (10 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3977 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_11

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_11 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_11(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 11-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (11 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 3996 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_12

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_12 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_12(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 12-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (12 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4015 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_13

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_13 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_13(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 13-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (13 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4034 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_14

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_14 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_14(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 14-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (14 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4053 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_DOC_15

#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_15 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_QUALIFIED_EX_15(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ method with type qualification for 15-parameter methods.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (15 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4072 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME

#define PY_CLASS_METHOD_QUALIFIED_NAME ( i_cppClass,
i_cppMethod,
t_return,
t_params,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_params, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_methodName, s_doc)
Export a C++ method with type qualification and custom name with documentation.

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4091 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_0

#define PY_CLASS_METHOD_QUALIFIED_NAME_0 ( i_cppClass,
i_cppMethod,
t_return,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_0(i_cppClass, i_cppMethod, t_return, s_methodName, s_doc)
Export a C++ method with type qualification for 0-parameter methods with custom name and documentatio...

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

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (0 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4107 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_1

#define PY_CLASS_METHOD_QUALIFIED_NAME_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc)
Export a C++ method with type qualification for 1-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 1-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (1 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4124 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_2

#define PY_CLASS_METHOD_QUALIFIED_NAME_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
Export a C++ method with type qualification for 2-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 2-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (2 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4141 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_3

#define PY_CLASS_METHOD_QUALIFIED_NAME_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
Export a C++ method with type qualification for 3-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 3-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (3 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4158 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_4

#define PY_CLASS_METHOD_QUALIFIED_NAME_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
Export a C++ method with type qualification for 4-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 4-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (4 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4175 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_5

#define PY_CLASS_METHOD_QUALIFIED_NAME_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
Export a C++ method with type qualification for 5-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 5-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (5 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4192 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_6

#define PY_CLASS_METHOD_QUALIFIED_NAME_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
Export a C++ method with type qualification for 6-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 6-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (6 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4209 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_7

#define PY_CLASS_METHOD_QUALIFIED_NAME_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
Export a C++ method with type qualification for 7-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 7-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (7 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4226 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_8

#define PY_CLASS_METHOD_QUALIFIED_NAME_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
Export a C++ method with type qualification for 8-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 8-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (8 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4243 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_9

#define PY_CLASS_METHOD_QUALIFIED_NAME_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
Export a C++ method with type qualification for 9-parameter methods with custom name and documentatio...

Export a C++ method with type qualification for 9-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (9 parameters, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4260 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_10

#define PY_CLASS_METHOD_QUALIFIED_NAME_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
Export a C++ method with type qualification for 10-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 10-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (10 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4277 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_11

#define PY_CLASS_METHOD_QUALIFIED_NAME_11 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_11(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Export a C++ method with type qualification for 11-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 11-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (11 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4294 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_12

#define PY_CLASS_METHOD_QUALIFIED_NAME_12 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_12(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Export a C++ method with type qualification for 12-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 12-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (12 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4311 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_13

#define PY_CLASS_METHOD_QUALIFIED_NAME_13 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_13(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Export a C++ method with type qualification for 13-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 13-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (13 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4328 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_14

#define PY_CLASS_METHOD_QUALIFIED_NAME_14 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_14(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Export a C++ method with type qualification for 14-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 14-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (14 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4345 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_NAME_15

#define PY_CLASS_METHOD_QUALIFIED_NAME_15 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_QUALIFIED_NAME_DOC_15(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Export a C++ method with type qualification for 15-parameter methods with custom name and documentati...

Export a C++ method with type qualification for 15-parameter methods and custom name (no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (15 parameters, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4362 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC

#define PY_CLASS_METHOD_QUALIFIED_DOC ( i_cppClass,
i_cppMethod,
t_return,
t_params,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_params, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4380 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_0

#define PY_CLASS_METHOD_QUALIFIED_DOC_0 ( i_cppClass,
i_cppMethod,
t_return,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 0-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_0() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (0 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4396 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_1

#define PY_CLASS_METHOD_QUALIFIED_DOC_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 1-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_1() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (1 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4413 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_2

#define PY_CLASS_METHOD_QUALIFIED_DOC_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 2-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_2() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (2 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4430 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_3

#define PY_CLASS_METHOD_QUALIFIED_DOC_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 3-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_3() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (3 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4447 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_4

#define PY_CLASS_METHOD_QUALIFIED_DOC_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 4-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_4() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (4 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4464 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_5

#define PY_CLASS_METHOD_QUALIFIED_DOC_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 5-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_5() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (5 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4481 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_6

#define PY_CLASS_METHOD_QUALIFIED_DOC_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 6-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_6() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (6 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4498 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_7

#define PY_CLASS_METHOD_QUALIFIED_DOC_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 7-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_7() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (7 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4515 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_8

#define PY_CLASS_METHOD_QUALIFIED_DOC_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 8-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_8() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (8 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4532 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_9

#define PY_CLASS_METHOD_QUALIFIED_DOC_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 9-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_9() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (9 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4549 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_10

#define PY_CLASS_METHOD_QUALIFIED_DOC_10 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, LASS_STRINGIFY(i_cppMethod), s_doc )

Export a C++ method with type qualification for 10-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_10() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (10 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4566 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_11

#define PY_CLASS_METHOD_QUALIFIED_DOC_11 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Export a C++ method with type qualification for 11-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_11() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (11 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4583 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_12

#define PY_CLASS_METHOD_QUALIFIED_DOC_12 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Export a C++ method with type qualification for 12-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_12() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (12 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4600 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_13

#define PY_CLASS_METHOD_QUALIFIED_DOC_13 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Export a C++ method with type qualification for 13-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_13() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (13 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4617 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_14

#define PY_CLASS_METHOD_QUALIFIED_DOC_14 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Export a C++ method with type qualification for 14-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_14() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (14 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4634 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_DOC_15

#define PY_CLASS_METHOD_QUALIFIED_DOC_15 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Export a C++ method with type qualification for 15-parameter methods and custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_METHOD_QUALIFIED_NAME_DOC_15() with s_methodName = LASS_STRINGIFY(i_cppMethod).

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (15 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4651 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED

#define PY_CLASS_METHOD_QUALIFIED ( i_cppClass,
i_cppMethod,
t_return,
t_params )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC( i_cppClass, i_cppMethod, t_return, t_params, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_doc)
Export a C++ method with type qualification and custom documentation (method name derived from C++ me...

Export a C++ method with type qualification (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4668 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_0

#define PY_CLASS_METHOD_QUALIFIED_0 ( i_cppClass,
i_cppMethod,
t_return )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_0( i_cppClass, i_cppMethod, t_return, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_0(i_cppClass, i_cppMethod, t_return, s_doc)
Export a C++ method with type qualification for 0-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 0-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (0 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4682 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_1

#define PY_CLASS_METHOD_QUALIFIED_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_1( i_cppClass, i_cppMethod, t_return, t_P1, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_doc)
Export a C++ method with type qualification for 1-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 1-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (1 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4697 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_2

#define PY_CLASS_METHOD_QUALIFIED_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_2( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_doc)
Export a C++ method with type qualification for 2-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 2-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (2 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4712 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_3

#define PY_CLASS_METHOD_QUALIFIED_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_3( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_doc)
Export a C++ method with type qualification for 3-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 3-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (3 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4727 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_4

#define PY_CLASS_METHOD_QUALIFIED_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_4( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
Export a C++ method with type qualification for 4-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 4-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (4 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4742 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_5

#define PY_CLASS_METHOD_QUALIFIED_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_5( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
Export a C++ method with type qualification for 5-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 5-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (5 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4757 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_6

#define PY_CLASS_METHOD_QUALIFIED_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_6( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
Export a C++ method with type qualification for 6-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 6-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (6 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4772 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_7

#define PY_CLASS_METHOD_QUALIFIED_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_7( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
Export a C++ method with type qualification for 7-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 7-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (7 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4787 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_8

#define PY_CLASS_METHOD_QUALIFIED_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_8( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
Export a C++ method with type qualification for 8-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 8-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (8 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4802 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_9

#define PY_CLASS_METHOD_QUALIFIED_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_9( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, 0 )
#define PY_CLASS_METHOD_QUALIFIED_DOC_9(i_cppClass, i_cppMethod, 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++ method with type qualification for 9-parameter methods and custom documentation (method ...

Export a C++ method with type qualification for 9-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (9 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4817 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_10

#define PY_CLASS_METHOD_QUALIFIED_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
Value:
PY_CLASS_METHOD_QUALIFIED_DOC_10( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_10(i_cppClass, i_cppMethod, 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++ method with type qualification for 10-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 10-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (10 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4832 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_11

#define PY_CLASS_METHOD_QUALIFIED_11 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_QUALIFIED_DOC_11( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_11(i_cppClass, i_cppMethod, 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++ method with type qualification for 11-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 11-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (11 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4847 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_12

#define PY_CLASS_METHOD_QUALIFIED_12 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_QUALIFIED_DOC_12( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_12(i_cppClass, i_cppMethod, 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++ method with type qualification for 12-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 12-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (12 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4862 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_13

#define PY_CLASS_METHOD_QUALIFIED_13 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_QUALIFIED_DOC_13( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_13(i_cppClass, i_cppMethod, 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++ method with type qualification for 13-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 13-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (13 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4877 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_14

#define PY_CLASS_METHOD_QUALIFIED_14 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_QUALIFIED_DOC_14( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_14(i_cppClass, i_cppMethod, 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++ method with type qualification for 14-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 14-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (14 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4892 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_QUALIFIED_15

#define PY_CLASS_METHOD_QUALIFIED_15 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_QUALIFIED_DOC_15( i_cppClass, i_cppMethod, 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_CLASS_METHOD_QUALIFIED_DOC_15(i_cppClass, i_cppMethod, 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++ method with type qualification for 15-parameter methods and custom documentation (method...

Export a C++ method with type qualification for 15-parameter methods (method name derived from C++ method, no documentation).

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

Parameters
i_cppClassC++ class containing the method
i_cppMethodC++ method name to export (15 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the method (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 method (for disambiguation)
See also
PY_CLASS_METHOD_QUALIFIED_EX

Definition at line 4907 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_EX

#define PY_CLASS_FREE_METHOD_EX ( t_cppClass,
f_cppFreeMethod,
s_methodName,
s_doc,
i_dispatcher )
Value:
PY_CLASS_METHOD_IMPL(t_cppClass, f_cppFreeMethod, s_methodName, s_doc, i_dispatcher,\
::lass::python::impl::CallMethod<TShadowTraits>::callFree)

Export a C/C++ free function as a Python method with full control over all parameters.

This macro allows you to export a C/C++ free function as a Python method. The free function must accept a pointer or reference to the object as first argument (const or non-const). This is extremely useful when using shadow classes to export a C++ class, because in such cases, it's often undesirable or impossible to write the function as a method.

Like PY_CLASS_METHOD_EX(), this macro supports overloading. These overloads may be mixed with PY_CLASS_METHOD_EX() methods.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
};
void barA(Foo* foo, int a);
void barB(const Foo&, const std::string& b);
// foo.cpp
PY_CLASS_FREE_METHOD_EX(Foo, barA, "bar", nullptr, foo_bar_a)
PY_CLASS_FREE_METHOD_EX(Foo, barB, "bar", nullptr, foo_bar_b)
#define PY_CLASS_FREE_METHOD_EX(t_cppClass, f_cppFreeMethod, s_methodName, s_doc, i_dispatcher)
Export a C/C++ free function as a Python method with full control over all parameters.

Definition at line 4959 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_NAME_DOC

#define PY_CLASS_FREE_METHOD_NAME_DOC ( i_cppClass,
f_cppFreeMethod,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))

Export a C/C++ free function as a Python method with custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_EX

Definition at line 4975 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_NAME

#define PY_CLASS_FREE_METHOD_NAME ( i_cppClass,
f_cppFreeMethod,
s_methodName )
Value:
PY_CLASS_FREE_METHOD_NAME_DOC( i_cppClass, f_cppFreeMethod, s_methodName, 0 )

Export a C/C++ free function as a Python method with custom name (no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_EX

Definition at line 4991 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_DOC

#define PY_CLASS_FREE_METHOD_DOC ( i_cppClass,
i_cppFreeMethod,
s_doc )
Value:
PY_CLASS_FREE_METHOD_NAME_DOC( i_cppClass, i_cppFreeMethod, LASS_STRINGIFY(i_cppFreeMethod), s_doc)

Export a C/C++ free function as a Python method with custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_NAME_DOC() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, used as Python method name)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_EX

Definition at line 5005 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD

#define PY_CLASS_FREE_METHOD ( i_cppClass,
i_cppFreeMethod )
Value:
PY_CLASS_FREE_METHOD_DOC( i_cppClass, i_cppFreeMethod, 0 )

Export a C/C++ free function as a Python method (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, used as Python method name)
See also
PY_CLASS_FREE_METHOD_EX

Definition at line 5018 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX ( t_cppClass,
f_cppFreeMethod,
t_return,
t_params,
s_methodName,
s_doc,
i_dispatcher )
Value:
static ::lass::python::impl::OverloadLink LASS_CONCATENATE(i_dispatcher, _overloadChain);\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher(PyObject* iObject, PyObject* iArgs)\
{\
PyObject* result = 0;\
if (LASS_CONCATENATE(i_dispatcher, _overloadChain)(iObject, iArgs, result))\
{\
return result;\
}\
LASS_ASSERT(result == 0);\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
return ::lass::python::impl::ExplicitResolver<TShadowTraits,t_return,t_params>::callFreeMethod(\
iArgs, iObject, f_cppFreeMethod); \
}\
LASS_EXECUTE_BEFORE_MAIN_EX(LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addMethod(\
s_methodName, s_doc, \
::lass::python::impl::FunctionTypeDispatcher< SPECIAL_SLOT_TYPE(s_methodName) , i_dispatcher>::fun,\
LASS_CONCATENATE(i_dispatcher, _overloadChain));\
)

Export a C++ free function as a Python method with explicit type qualification and full parameter control.

This macro allows you to export a C++ free function as a Python method when there's ambiguity due to overloading. It explicitly specifies return type and parameter types to resolve such ambiguity. The free function must accept a pointer or reference to the object as first argument (const or non-const).

Like PY_CLASS_FREE_METHOD_EX(), this macro supports overloading and these overloads may be mixed with PY_CLASS_FREE_METHOD_EX() methods.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function)
t_returnReturn type of the free function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
// ...
};
void bar(Foo& foo, int a);
void bar(const Foo&, const std::string& b);
// foo.cpp
PY_CLASS_FREE_METHOD_QUALIFIED_EX(Foo, bar, void, meta::TypeTuple<int>, "bar", nullptr, foo_bar_a)
PY_CLASS_FREE_METHOD_QUALIFIED_EX(Foo, bar, void, meta::TypeTuple<const std::string&>, "bar", nullptr, foo_bar_b)
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX(t_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with explicit type qualification and full parameter con...

Definition at line 5072 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_0

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_0 ( t_cppClass,
f_cppFreeMethod,
t_return,
s_methodName,
s_doc,
i_dispatcher )
Value:
t_cppClass, f_cppFreeMethod, t_return, ::lass::meta::TypeTuple<>, s_methodName, s_doc, i_dispatcher )

Export a C++ free function as a Python method with type qualification for 0-parameter functions.

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

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 0 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5107 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_1

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_1 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 1-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 1 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 1 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5126 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_2

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_2 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 2-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 2 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 2 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5149 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_3

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_3 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc,
i_dispatcher )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3 > \
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams));\
PY_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 3-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 3 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 3 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5172 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_4

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_4 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 4-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 4 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 4 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5195 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_5

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_5 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 5-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 5 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 5 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5218 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_6

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_6 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 6-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 6 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 6 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5241 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_7

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_7 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 7-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 7 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 7 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5264 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_8

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_8 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 8-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 8 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 8 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5287 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_9

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_9 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 9-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 9 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 9 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5310 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_10

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_10 ( t_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 10-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 10 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 10 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5333 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_11

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_11 ( t_cppClass,
f_cppFreeMethod,
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_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 11-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 11 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 11 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5356 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_12

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_12 ( t_cppClass,
f_cppFreeMethod,
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_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 12-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 12 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 12 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5379 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_13

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_13 ( t_cppClass,
f_cppFreeMethod,
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_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 13-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 13 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 13 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5402 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_14

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_14 ( t_cppClass,
f_cppFreeMethod,
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_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 14-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 14 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 14 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5425 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_EX_15

#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_15 ( t_cppClass,
f_cppFreeMethod,
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_methodName,
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_CLASS_FREE_METHOD_QUALIFIED_EX(\
t_cppClass, f_cppFreeMethod, t_return,\
LASS_UNIQUENAME(LASS_CONCATENATE(i_dispatcher, _TParams)), s_methodName, s_doc,\
i_dispatcher )

Export a C++ free function as a Python method with type qualification for 15-parameter functions.

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_EX() for free functions with 15 parameters.

Parameters
t_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 15 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5448 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC ( i_cppClass,
f_cppFreeMethod,
t_return,
t_params,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))

Export a C++ free function as a Python method with type qualification, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5471 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_0

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_0 ( i_cppClass,
f_cppFreeMethod,
t_return,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_0(t_cppClass, f_cppFreeMethod, t_return, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 0-parameter functions.

Export a C++ free function as a Python method with type qualification for 0-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 0 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5489 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_1

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_1 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_1(t_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 1-parameter functions.

Export a C++ free function as a Python method with type qualification for 1-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 1 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5508 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_2

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_2 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_2(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 2-parameter functions.

Export a C++ free function as a Python method with type qualification for 2-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 2 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5527 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_3

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_3 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_3(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 3-parameter functions.

Export a C++ free function as a Python method with type qualification for 3-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 3 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5546 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_4

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_4 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_4(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 4-parameter functions.

Export a C++ free function as a Python method with type qualification for 4-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 4 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5565 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_5

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_5 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_5(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 5-parameter functions.

Export a C++ free function as a Python method with type qualification for 5-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 5 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5584 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_6

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_6 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_6(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 6-parameter functions.

Export a C++ free function as a Python method with type qualification for 6-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 6 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5603 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_7

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_7 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_7(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 7-parameter functions.

Export a C++ free function as a Python method with type qualification for 7-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 7 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5622 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_8

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_8 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_8(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 8-parameter functions.

Export a C++ free function as a Python method with type qualification for 8-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 8 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5641 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_9

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_9 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_9(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 9-parameter functions.

Export a C++ free function as a Python method with type qualification for 9-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 9 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5660 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_10

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_10 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_10(t_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 10-parameter functions.

Export a C++ free function as a Python method with type qualification for 10-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 10 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5679 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_11

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_11 ( i_cppClass,
f_cppFreeMethod,
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_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_11(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 11-parameter functions.

Export a C++ free function as a Python method with type qualification for 11-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 11 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5698 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_12

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_12 ( i_cppClass,
f_cppFreeMethod,
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_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_12(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 12-parameter functions.

Export a C++ free function as a Python method with type qualification for 12-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 12 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5717 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_13

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_13 ( i_cppClass,
f_cppFreeMethod,
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_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_13(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 13-parameter functions.

Export a C++ free function as a Python method with type qualification for 13-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 13 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5736 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_14

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_14 ( i_cppClass,
f_cppFreeMethod,
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_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_14(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 14-parameter functions.

Export a C++ free function as a Python method with type qualification for 14-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 14 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5755 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_15

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_15 ( i_cppClass,
f_cppFreeMethod,
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_methodName,
s_doc )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)))
#define PY_CLASS_FREE_METHOD_QUALIFIED_EX_15(t_cppClass, f_cppFreeMethod, 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_methodName, s_doc, i_dispatcher)
Export a C++ free function as a Python method with type qualification for 15-parameter functions.

Export a C++ free function as a Python method with type qualification for 15-parameter functions, custom name and documentation.

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 15 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5774 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME ( i_cppClass,
f_cppFreeMethod,
t_return,
t_params,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC(i_cppClass, f_cppFreeMethod, t_return, t_params, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification, custom name and documentation.

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5793 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_0

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_0 ( i_cppClass,
f_cppFreeMethod,
t_return,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_0(i_cppClass, f_cppFreeMethod, t_return, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 0-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 0 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5809 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_1

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_1 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_1(i_cppClass, f_cppFreeMethod, t_return, t_P1, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 1-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 1 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5826 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_2

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_2 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_2(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 2-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 2 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5843 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_3

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_3 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_3(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 3-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 3 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5860 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_4

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_4 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_4(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 4-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 4 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5877 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_5

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_5 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_5(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 5-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 5 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5894 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_6

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_6 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_6(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 6-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 6 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5911 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_7

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_7 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_7(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 7-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 7 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5928 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_8

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_8 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_8(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 8-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 8 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5945 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_9

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_9 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_9(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 9-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 9 parameters, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5962 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_10

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_10 ( i_cppClass,
f_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName )
Value:
i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_10(i_cppClass, f_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 10-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 10 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5979 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_11

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_11 ( i_cppClass,
f_cppFreeMethod,
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_methodName )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_11(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 11-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 11 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 5996 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_12

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_12 ( i_cppClass,
f_cppFreeMethod,
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_methodName )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_12(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 12-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 12 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6013 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_13

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_13 ( i_cppClass,
f_cppFreeMethod,
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_methodName )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_13(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 13-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 13 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6030 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_14

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_14 ( i_cppClass,
f_cppFreeMethod,
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_methodName )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_14(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 14-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 14 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6047 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_NAME_15

#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_15 ( i_cppClass,
f_cppFreeMethod,
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_methodName )
Value:
i_cppClass, f_cppFreeMethod, 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_methodName, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_15(i_cppClass, f_cppFreeMethod, 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_methodName, s_doc)
Export a C++ free function as a Python method with type qualification for 15-parameter functions,...

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

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

Parameters
i_cppClassC++ class you're exporting the method for
f_cppFreeMethodC++ function to export (can be function pointer or std::function, 15 parameters, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6064 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC ( i_cppClass,
i_cppFreeMethod,
t_return,
t_params,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_params, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6082 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_0

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_0 ( i_cppClass,
i_cppFreeMethod,
t_return,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 0-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_0() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 0 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6098 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_1

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_1 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 1-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_1() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 1 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6115 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_2

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_2 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 2-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_2() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 2 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6132 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_3

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_3 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 3-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_3() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 3 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6149 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_4

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_4 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 4-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_4() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 4 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6166 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_5

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_5 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 5-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_5() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 5 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6183 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_6

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_6 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 6-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_6() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 6 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6200 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_7

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_7 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 7-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_7() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 7 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6217 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_8

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_8 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 8-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_8() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 8 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6234 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_9

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_9 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_doc )
Value:
i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 9-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_9() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 9 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6251 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_10

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_10 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, LASS_STRINGIFY(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 10-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_10() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 10 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6268 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_11

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_11 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, 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(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 11-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_11() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 11 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6285 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_12

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_12 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, 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(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 12-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_12() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 12 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6302 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_13

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_13 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, 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(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 13-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_13() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 13 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6319 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_14

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_14 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, 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(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 14-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_14() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 14 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6336 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_DOC_15

#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_15 ( i_cppClass,
i_cppFreeMethod,
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_cppClass, i_cppFreeMethod, 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(i_cppFreeMethod), s_doc )

Export a C++ free function as a Python method with type qualification for 15-parameter functions and custom documentation (method name derived from function name).

Convenience macro that wraps PY_CLASS_FREE_METHOD_QUALIFIED_NAME_DOC_15() with s_methodName = LASS_STRINGIFY(i_cppFreeMethod).

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 15 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (disambiguation)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6353 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED

#define PY_CLASS_FREE_METHOD_QUALIFIED ( i_cppClass,
i_cppFreeMethod,
t_return,
t_params )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC( i_cppClass, i_cppFreeMethod, t_return, t_params, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC(i_cppClass, i_cppFreeMethod, t_return, t_params, s_doc)
Export a C++ free function as a Python method with type qualification and custom documentation (metho...

Export a C++ free function as a Python method with type qualification (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_paramsParameter types as lass::meta::TypeTuple (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6370 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_0

#define PY_CLASS_FREE_METHOD_QUALIFIED_0 ( i_cppClass,
i_cppFreeMethod,
t_return )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_0( i_cppClass, i_cppFreeMethod, t_return, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_0(i_cppClass, i_cppFreeMethod, t_return, s_doc)
Export a C++ free function as a Python method with type qualification for 0-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 0-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 0 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6384 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_1

#define PY_CLASS_FREE_METHOD_QUALIFIED_1 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_1( i_cppClass, i_cppFreeMethod, t_return, t_P1, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_1(i_cppClass, i_cppFreeMethod, t_return, t_P1, s_doc)
Export a C++ free function as a Python method with type qualification for 1-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 1-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 1 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6399 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_2

#define PY_CLASS_FREE_METHOD_QUALIFIED_2 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_2( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_2(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, s_doc)
Export a C++ free function as a Python method with type qualification for 2-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 2-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 2 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6414 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_3

#define PY_CLASS_FREE_METHOD_QUALIFIED_3 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_3( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_3(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, s_doc)
Export a C++ free function as a Python method with type qualification for 3-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 3-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 3 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6429 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_4

#define PY_CLASS_FREE_METHOD_QUALIFIED_4 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_4( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_4(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
Export a C++ free function as a Python method with type qualification for 4-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 4-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 4 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6444 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_5

#define PY_CLASS_FREE_METHOD_QUALIFIED_5 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_5( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_5(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
Export a C++ free function as a Python method with type qualification for 5-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 5-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 5 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6459 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_6

#define PY_CLASS_FREE_METHOD_QUALIFIED_6 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_6( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_6(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
Export a C++ free function as a Python method with type qualification for 6-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 6-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 6 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6474 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_7

#define PY_CLASS_FREE_METHOD_QUALIFIED_7 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_7( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_7(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
Export a C++ free function as a Python method with type qualification for 7-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 7-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 7 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6489 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_8

#define PY_CLASS_FREE_METHOD_QUALIFIED_8 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_8( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_8(i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
Export a C++ free function as a Python method with type qualification for 8-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 8-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 8 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6504 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_9

#define PY_CLASS_FREE_METHOD_QUALIFIED_9 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_9( i_cppClass, i_cppFreeMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, 0 )
#define PY_CLASS_FREE_METHOD_QUALIFIED_DOC_9(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 9-parameter functions and c...

Export a C++ free function as a Python method with type qualification for 9-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 9 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free function (for disambiguation)
t_P1,t_P2,t_P3,t_P4,t_P5,t_P6,t_P7,t_P8,t_P9Parameter types for the free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6519 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_10

#define PY_CLASS_FREE_METHOD_QUALIFIED_10 ( i_cppClass,
i_cppFreeMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
Value:
PY_CLASS_FREE_METHOD_QUALIFIED_DOC_10( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_10(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 10-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 10-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 10 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6534 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_11

#define PY_CLASS_FREE_METHOD_QUALIFIED_11 ( i_cppClass,
i_cppFreeMethod,
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_CLASS_FREE_METHOD_QUALIFIED_DOC_11( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_11(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 11-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 11-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 11 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6549 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_12

#define PY_CLASS_FREE_METHOD_QUALIFIED_12 ( i_cppClass,
i_cppFreeMethod,
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_CLASS_FREE_METHOD_QUALIFIED_DOC_12( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_12(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 12-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 12-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 12 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6564 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_13

#define PY_CLASS_FREE_METHOD_QUALIFIED_13 ( i_cppClass,
i_cppFreeMethod,
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_CLASS_FREE_METHOD_QUALIFIED_DOC_13( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_13(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 13-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 13-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 13 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6579 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_14

#define PY_CLASS_FREE_METHOD_QUALIFIED_14 ( i_cppClass,
i_cppFreeMethod,
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_CLASS_FREE_METHOD_QUALIFIED_DOC_14( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_14(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 14-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 14-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 14 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6594 of file pyobject_macros.h.

◆ PY_CLASS_FREE_METHOD_QUALIFIED_15

#define PY_CLASS_FREE_METHOD_QUALIFIED_15 ( i_cppClass,
i_cppFreeMethod,
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_CLASS_FREE_METHOD_QUALIFIED_DOC_15( i_cppClass, i_cppFreeMethod, 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_CLASS_FREE_METHOD_QUALIFIED_DOC_15(i_cppClass, i_cppFreeMethod, 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++ free function as a Python method with type qualification for 15-parameter functions and ...

Export a C++ free function as a Python method with type qualification for 15-parameter functions (method name derived from function name, no documentation).

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

Parameters
i_cppClassC++ class you're exporting the method for
i_cppFreeMethodC++ function identifier to export (must be valid identifier, 15 parameters, used as Python method name, can be overloaded)
t_returnReturn type of the free 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 free function (for disambiguation)
See also
PY_CLASS_FREE_METHOD_QUALIFIED_EX

Definition at line 6609 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_0

#define PY_CLASS_METHOD_CAST_EX_0 ( t_cppClass,
i_cppMethod,
t_return,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster<t_return>::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis\
)\
{\
return iThis.i_cppMethod () ; \
}\
PY_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method to Python with custom casting policy and full parameter control.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

This macro exports a C++ method to Python with a custom casting policy for type conversion. It allows on-the-fly conversion using casting operators. However, this macro is deprecated and should not be used in new code.

Supported casting operators:

  • PointerCast<_type>: Interprets ownership rules as if a pointer is passed
  • CopyCast<_type>: Interprets ownership rules as if a copy of the object is passed
  • Custom casting operators can be defined following the PointerCast pattern
Parameters
t_cppClassC++ class you're exporting a method of
i_cppMethodName of the method in C++
t_returnReturn type of the method
t_paramslass::meta::TypeTuple of the parameter types
s_methodNamePython method name (null-terminated C string literal or special method from lass::python::methods namespace)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
i_typenameType name for casting operations
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
void bar(int a);
void bar(const std::string& b) const;
};
// foo.cpp - DEPRECATED USAGE
PY_CLASS_METHOD_CAST_EX_0(Foo, bar, void, CopyCast<const std::string&>, "bar", nullptr, foo_bar_a)
#define PY_CLASS_METHOD_CAST_EX_0(t_cppClass, i_cppMethod, t_return, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method to Python with custom casting policy and full parameter control.

Export a C++ method with casting policy for 0-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6672 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_1

#define PY_CLASS_METHOD_CAST_EX_1 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1 \
)\
{\
return iThis.i_cppMethod ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1) );\
}\
PY_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 1-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6687 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_2

#define PY_CLASS_METHOD_CAST_EX_2 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::lass::python::OwnerCaster< t_P1 >::TCaster::TTarget iArg1, ::lass::python::OwnerCaster< t_P2 >::TCaster::TTarget iArg2 \
)\
{\
return iThis.i_cppMethod ( ::lass::python::OwnerCaster< t_P1 >::TCaster::cast(iArg1), ::lass::python::OwnerCaster< t_P2 >::TCaster::cast(iArg2) );\
}\
PY_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 2-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6701 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_3

#define PY_CLASS_METHOD_CAST_EX_3 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 3-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6715 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_4

#define PY_CLASS_METHOD_CAST_EX_4 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 4-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6729 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_5

#define PY_CLASS_METHOD_CAST_EX_5 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 5-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6743 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_6

#define PY_CLASS_METHOD_CAST_EX_6 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 6-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6757 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_7

#define PY_CLASS_METHOD_CAST_EX_7 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 7-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6771 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_8

#define PY_CLASS_METHOD_CAST_EX_8 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 8-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6785 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_9

#define PY_CLASS_METHOD_CAST_EX_9 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 9-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6799 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_10

#define PY_CLASS_METHOD_CAST_EX_10 ( t_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 10-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6813 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_11

#define PY_CLASS_METHOD_CAST_EX_11 ( t_cppClass,
i_cppMethod,
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_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 11-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6827 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_12

#define PY_CLASS_METHOD_CAST_EX_12 ( t_cppClass,
i_cppMethod,
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_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 12-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6841 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_13

#define PY_CLASS_METHOD_CAST_EX_13 ( t_cppClass,
i_cppMethod,
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_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 13-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6855 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_14

#define PY_CLASS_METHOD_CAST_EX_14 ( t_cppClass,
i_cppMethod,
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_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 14-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6869 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_EX_15

#define PY_CLASS_METHOD_CAST_EX_15 ( t_cppClass,
i_cppMethod,
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_methodName,
s_doc,
i_dispatcher,
i_typename )
Value:
::lass::python::OwnerCaster< t_return >::TCaster::TTarget LASS_CONCATENATE(i_dispatcher, _caster) ( \
::lass::python::impl::ShadowTraits< t_cppClass >::TCppClass& iThis,\
::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 iThis.i_cppMethod ( ::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_CLASS_FREE_METHOD_EX( t_cppClass, LASS_CONCATENATE(i_dispatcher, _caster), s_methodName, s_doc, i_dispatcher );

Export a C++ method with casting policy for 15-parameter methods.

Deprecated
Use PY_CLASS_METHOD_EX() or PY_CLASS_FREE_METHOD_EX() instead.

Definition at line 6883 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_0

#define PY_CLASS_METHOD_CAST_NAME_DOC_0 ( i_cppClass,
i_cppMethod,
t_return,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_0().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6898 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_1

#define PY_CLASS_METHOD_CAST_NAME_DOC_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_1(t_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 1-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_1().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6908 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_2

#define PY_CLASS_METHOD_CAST_NAME_DOC_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_2(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 2-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_2().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6918 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_3

#define PY_CLASS_METHOD_CAST_NAME_DOC_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_3(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 3-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_3().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6928 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_4

#define PY_CLASS_METHOD_CAST_NAME_DOC_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_4(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 4-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_4().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6938 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_5

#define PY_CLASS_METHOD_CAST_NAME_DOC_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_5(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 5-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_5().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6948 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_6

#define PY_CLASS_METHOD_CAST_NAME_DOC_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_6(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 6-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_6().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6958 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_7

#define PY_CLASS_METHOD_CAST_NAME_DOC_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_7(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 7-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_7().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6968 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_8

#define PY_CLASS_METHOD_CAST_NAME_DOC_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_8(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 8-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_8().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6978 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_9

#define PY_CLASS_METHOD_CAST_NAME_DOC_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_9(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 9-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_9().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6988 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_10

#define PY_CLASS_METHOD_CAST_NAME_DOC_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_10(t_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 10-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_10().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 6998 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_11

#define PY_CLASS_METHOD_CAST_NAME_DOC_11 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_11(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 11-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_11().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 7008 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_12

#define PY_CLASS_METHOD_CAST_NAME_DOC_12 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_12(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 12-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_12().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 7018 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_13

#define PY_CLASS_METHOD_CAST_NAME_DOC_13 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_13(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 13-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_13().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 7028 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_14

#define PY_CLASS_METHOD_CAST_NAME_DOC_14 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_14(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 14-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_14().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 7038 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_DOC_15

#define PY_CLASS_METHOD_CAST_NAME_DOC_15 ( i_cppClass,
i_cppMethod,
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_methodName,
s_doc )
Value:
i_cppClass, i_cppMethod, 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_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_method_, i_cppClass)),\
LASS_UNIQUENAME(LASS_CONCATENATE(TypelassPyImpl_method_, i_cppClass)))
#define PY_CLASS_METHOD_CAST_EX_15(t_cppClass, i_cppMethod, 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_methodName, s_doc, i_dispatcher, i_typename)
Export a C++ method with casting policy for 15-parameter methods.

Convenience wrapper for PY_CLASS_METHOD_CAST_EX_15().

Deprecated
Use PY_CLASS_METHOD_NAME_DOC() or PY_CLASS_FREE_METHOD_NAME_DOC() instead.

Definition at line 7048 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME

#define PY_CLASS_METHOD_CAST_NAME ( i_cppClass,
i_cppMethod,
t_return,
t_params,
s_methodName )
Value:
PY_CLASS_METHOD_CAST_NAME_DOC(\
i_cppClass, i_cppMethod, t_return, t_params, s_methodName, 0 )

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7059 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_0

#define PY_CLASS_METHOD_CAST_NAME_0 ( i_cppClass,
i_cppMethod,
t_return,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_0(i_cppClass, i_cppMethod, t_return, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_0().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7067 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_1

#define PY_CLASS_METHOD_CAST_NAME_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_1().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7075 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_2

#define PY_CLASS_METHOD_CAST_NAME_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_2().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7083 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_3

#define PY_CLASS_METHOD_CAST_NAME_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_3().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7091 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_4

#define PY_CLASS_METHOD_CAST_NAME_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_4().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7099 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_5

#define PY_CLASS_METHOD_CAST_NAME_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_5().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7107 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_6

#define PY_CLASS_METHOD_CAST_NAME_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_6().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7115 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_7

#define PY_CLASS_METHOD_CAST_NAME_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_7().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7123 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_8

#define PY_CLASS_METHOD_CAST_NAME_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_8().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7131 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_9

#define PY_CLASS_METHOD_CAST_NAME_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_9().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7139 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_10

#define PY_CLASS_METHOD_CAST_NAME_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
s_methodName )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_10().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7147 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_11

#define PY_CLASS_METHOD_CAST_NAME_11 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_11(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_11().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7155 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_12

#define PY_CLASS_METHOD_CAST_NAME_12 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_12(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_12().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7163 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_13

#define PY_CLASS_METHOD_CAST_NAME_13 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_13(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_13().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7171 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_14

#define PY_CLASS_METHOD_CAST_NAME_14 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_14(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_14().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7179 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_NAME_15

#define PY_CLASS_METHOD_CAST_NAME_15 ( i_cppClass,
i_cppMethod,
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_methodName )
Value:
i_cppClass, i_cppMethod, 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_methodName, 0 )
#define PY_CLASS_METHOD_CAST_NAME_DOC_15(i_cppClass, i_cppMethod, 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_methodName, s_doc)
Convenience wrapper for PY_CLASS_METHOD_CAST_EX_15().

Convenience wrapper with no documentation.

Deprecated
Use PY_CLASS_METHOD_NAME() or PY_CLASS_FREE_METHOD_NAME() instead.

Definition at line 7187 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC

#define PY_CLASS_METHOD_CAST_DOC ( i_cppClass,
i_cppMethod,
t_return,
t_params,
s_doc )
Value:
PY_CLASS_METHOD_CAST_NAME_DOC(\
i_cppClass, i_cppMethod, t_return, t_params, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7196 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_0

#define PY_CLASS_METHOD_CAST_DOC_0 ( i_cppClass,
i_cppMethod,
t_return,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7204 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_1

#define PY_CLASS_METHOD_CAST_DOC_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7212 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_2

#define PY_CLASS_METHOD_CAST_DOC_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7220 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_3

#define PY_CLASS_METHOD_CAST_DOC_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7228 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_4

#define PY_CLASS_METHOD_CAST_DOC_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7236 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_5

#define PY_CLASS_METHOD_CAST_DOC_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7244 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_6

#define PY_CLASS_METHOD_CAST_DOC_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7252 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_7

#define PY_CLASS_METHOD_CAST_DOC_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7260 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_8

#define PY_CLASS_METHOD_CAST_DOC_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7268 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_9

#define PY_CLASS_METHOD_CAST_DOC_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
s_doc )
Value:
i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7276 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_10

#define PY_CLASS_METHOD_CAST_DOC_10 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, LASS_STRINGIFY(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7284 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_11

#define PY_CLASS_METHOD_CAST_DOC_11 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7292 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_12

#define PY_CLASS_METHOD_CAST_DOC_12 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7300 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_13

#define PY_CLASS_METHOD_CAST_DOC_13 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7308 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_14

#define PY_CLASS_METHOD_CAST_DOC_14 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7316 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_DOC_15

#define PY_CLASS_METHOD_CAST_DOC_15 ( i_cppClass,
i_cppMethod,
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_cppClass, i_cppMethod, 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(i_cppMethod), s_doc )

Convenience wrapper with method name derived from C++ method.

Deprecated
Use PY_CLASS_METHOD_DOC() or PY_CLASS_FREE_METHOD_DOC() instead.

Definition at line 7324 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST

#define PY_CLASS_METHOD_CAST ( i_cppClass,
i_cppMethod,
t_return,
t_params )
Value:
PY_CLASS_METHOD_CAST_DOC( i_cppClass, i_cppMethod, t_return, t_params, 0 )
#define PY_CLASS_METHOD_CAST_DOC(i_cppClass, i_cppMethod, t_return, t_params, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7333 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_0

#define PY_CLASS_METHOD_CAST_0 ( i_cppClass,
i_cppMethod,
t_return )
Value:
PY_CLASS_METHOD_CAST_DOC_0( i_cppClass, i_cppMethod, t_return, 0 )
#define PY_CLASS_METHOD_CAST_DOC_0(i_cppClass, i_cppMethod, t_return, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7340 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_1

#define PY_CLASS_METHOD_CAST_1 ( i_cppClass,
i_cppMethod,
t_return,
t_P1 )
Value:
PY_CLASS_METHOD_CAST_DOC_1( i_cppClass, i_cppMethod, t_return, t_P1, 0 )
#define PY_CLASS_METHOD_CAST_DOC_1(i_cppClass, i_cppMethod, t_return, t_P1, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7347 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_2

#define PY_CLASS_METHOD_CAST_2 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2 )
Value:
PY_CLASS_METHOD_CAST_DOC_2( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, 0 )
#define PY_CLASS_METHOD_CAST_DOC_2(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7354 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_3

#define PY_CLASS_METHOD_CAST_3 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3 )
Value:
PY_CLASS_METHOD_CAST_DOC_3( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, 0 )
#define PY_CLASS_METHOD_CAST_DOC_3(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7361 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_4

#define PY_CLASS_METHOD_CAST_4 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
PY_CLASS_METHOD_CAST_DOC_4( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, 0 )
#define PY_CLASS_METHOD_CAST_DOC_4(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7368 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_5

#define PY_CLASS_METHOD_CAST_5 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
PY_CLASS_METHOD_CAST_DOC_5( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, 0 )
#define PY_CLASS_METHOD_CAST_DOC_5(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7375 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_6

#define PY_CLASS_METHOD_CAST_6 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
PY_CLASS_METHOD_CAST_DOC_6( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, 0 )
#define PY_CLASS_METHOD_CAST_DOC_6(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7382 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_7

#define PY_CLASS_METHOD_CAST_7 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
PY_CLASS_METHOD_CAST_DOC_7( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, 0 )
#define PY_CLASS_METHOD_CAST_DOC_7(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7389 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_8

#define PY_CLASS_METHOD_CAST_8 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
Value:
PY_CLASS_METHOD_CAST_DOC_8( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, 0 )
#define PY_CLASS_METHOD_CAST_DOC_8(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7396 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_9

#define PY_CLASS_METHOD_CAST_9 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
Value:
PY_CLASS_METHOD_CAST_DOC_9( i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, 0 )
#define PY_CLASS_METHOD_CAST_DOC_9(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7403 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_10

#define PY_CLASS_METHOD_CAST_10 ( i_cppClass,
i_cppMethod,
t_return,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
Value:
PY_CLASS_METHOD_CAST_DOC_10( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_10(i_cppClass, i_cppMethod, t_return, t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7, t_P8, t_P9, t_P10, s_doc)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7410 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_11

#define PY_CLASS_METHOD_CAST_11 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_CAST_DOC_11( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_11(i_cppClass, i_cppMethod, 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)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7417 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_12

#define PY_CLASS_METHOD_CAST_12 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_CAST_DOC_12( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_12(i_cppClass, i_cppMethod, 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)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7424 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_13

#define PY_CLASS_METHOD_CAST_13 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_CAST_DOC_13( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_13(i_cppClass, i_cppMethod, 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)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7431 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_14

#define PY_CLASS_METHOD_CAST_14 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_CAST_DOC_14( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_14(i_cppClass, i_cppMethod, 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)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7438 of file pyobject_macros.h.

◆ PY_CLASS_METHOD_CAST_15

#define PY_CLASS_METHOD_CAST_15 ( i_cppClass,
i_cppMethod,
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_CLASS_METHOD_CAST_DOC_15( i_cppClass, i_cppMethod, 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_CLASS_METHOD_CAST_DOC_15(i_cppClass, i_cppMethod, 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)
Convenience wrapper with method name derived from C++ method.

Basic convenience wrapper with minimal parameters.

Deprecated
Use PY_CLASS_METHOD() or PY_CLASS_FREE_METHOD() instead.

Definition at line 7445 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_METHOD_EX

#define PY_CLASS_STATIC_METHOD_EX ( t_cppClass,
f_cppFunction,
s_methodName,
s_doc,
i_dispatcher )
Value:
static PyCFunction LASS_CONCATENATE(i_dispatcher, _overloadChain) = 0;\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher( PyObject* iIgnore, PyObject* iArgs )\
{\
if (LASS_CONCATENATE(i_dispatcher, _overloadChain))\
{\
PyObject* result = LASS_CONCATENATE(i_dispatcher, _overloadChain)(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(i_dispatcher, _excecuteBeforeMain ),\
t_cppClass ::_lassPyClassDef.addStaticMethod(\
s_methodName, s_doc, i_dispatcher, LASS_CONCATENATE(i_dispatcher, _overloadChain));\
)

Export a C++ function as a Python static method with full parameter control.

This macro exports a C++ static method or free function as a Python static method (class method). Static methods are called on the class itself rather than on instances, and can access class attributes but not instance attributes. Both C++ static member functions and free functions can be exported as static methods.

Parameters
t_cppClassC++ class to add the static method to
f_cppFunctionFull name of the C++ function that implements the static method
s_methodNamePython method name (null-terminated C string literal)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
static void bar(int iA);
};
int spam(int iB, int iC);
// foo.cpp
PY_CLASS_STATIC_METHOD_EX(Foo, Foo::bar, "bar", "a regular C++ static method", foo_bar)
PY_CLASS_STATIC_METHOD_EX(Foo, spam, "spam", "free function as static method", foo_spam)
#define PY_CLASS_STATIC_METHOD_EX(t_cppClass, f_cppFunction, s_methodName, s_doc, i_dispatcher)
Export a C++ function as a Python static method with full parameter control.

Definition at line 7496 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_METHOD_DOC

#define PY_CLASS_STATIC_METHOD_DOC ( i_cppClass,
i_cppMethod,
s_doc )
Value:
i_cppClass,\
&::lass::python::impl::ShadowTraits<i_cppClass>::TCppClass::i_cppMethod,\
LASS_STRINGIFY(i_cppMethod), s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_staticMethod_, i_cppClass)))

Export a C++ static method with custom documentation (method name derived from C++ method).

Convenience macro that wraps PY_CLASS_STATIC_METHOD_EX() for C++ static member functions with automatically generated dispatcher name and method name derived from C++ method name.

Parameters
i_cppClassC++ class to add the static method to
i_cppMethodName of the C++ static method to export
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_STATIC_METHOD_EX

Definition at line 7530 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_METHOD_NAME_DOC

#define PY_CLASS_STATIC_METHOD_NAME_DOC ( i_cppClass,
i_cppMethod,
s_methodName,
s_doc )
Value:
i_cppClass,\
&::lass::python::impl::ShadowTraits<i_cppClass>::TCppClass::i_cppMethod,\
s_methodName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_staticMethod_, i_cppClass)))

Export a C++ static method with custom name and documentation.

Convenience macro that wraps PY_CLASS_STATIC_METHOD_EX() for C++ static member functions with automatically generated dispatcher name.

Parameters
i_cppClassC++ class to add the static method to
i_cppMethodName of the C++ static method to export
s_methodNamePython method name (null-terminated C string literal)
s_docMethod documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_STATIC_METHOD_EX

Definition at line 7550 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_METHOD_NAME

#define PY_CLASS_STATIC_METHOD_NAME ( i_cppClass,
i_cppMethod,
s_methodName )
Value:
i_cppClass,\
&::lass::python::impl::ShadowTraits<i_cppClass>::TCppClass::i_cppMethod,\
s_methodName, "",\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_staticMethod_, i_cppClass)))

Export a C++ static method with custom name (no documentation).

Convenience macro that wraps PY_CLASS_STATIC_METHOD_EX() for C++ static member functions with automatically generated dispatcher name and no documentation.

Parameters
i_cppClassC++ class to add the static method to
i_cppMethodName of the C++ static method to export
s_methodNamePython method name (null-terminated C string literal)
See also
PY_CLASS_STATIC_METHOD_EX

Definition at line 7570 of file pyobject_macros.h.

◆ PY_CLASS_STATIC_METHOD

#define PY_CLASS_STATIC_METHOD ( i_cppClass,
i_cppMethod )
Value:
PY_CLASS_STATIC_METHOD_DOC( i_cppClass, i_cppMethod, 0 )
#define PY_CLASS_STATIC_METHOD_DOC(i_cppClass, i_cppMethod, s_doc)
Export a C++ static method with custom documentation (method name derived from C++ method).

Export a C++ static method (method name derived from C++ method, no documentation).

Convenience macro that wraps PY_CLASS_STATIC_METHOD_DOC() with no documentation.

Parameters
i_cppClassC++ class to add the static method to
i_cppMethodName of the C++ static method to export (used as Python method name)
See also
PY_CLASS_STATIC_METHOD_EX

Definition at line 7588 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_RW_EX

#define PY_CLASS_MEMBER_RW_EX ( t_cppClass,
i_cppGetter,
i_cppSetter,
s_memberName,
s_doc,
i_dispatcher )

Export getter/setter method pair as read/write Python property with full control.

This is the most flexible read-write member export macro, allowing manual dispatcher naming. Exports a pair of C++ getter and setter methods as a Python read/write property.

Parameters
t_cppClassC++ class containing the getter and setter methods
i_cppGetterC++ method name used to get the attribute value
i_cppSetterC++ method name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
const int getBar() const { return bar_; }
int setBar(int iBar) { bar_ = iBar; }
const std::string& spam() const { return spam_; }
std::string& spam() const { return spam_; }
private:
int bar_;
std::string spam_;
};
// foo.cpp
PY_CLASS_MEMBER_RW_EX(Foo, getBar, setBar, "bar", "regular get and setter", foo_bar)
PY_CLASS_MEMBER_RW_EX(Foo, spam, spam, "spam", "cool get and setter", foo_spam)
// Python: foo_instance.bar = 42; print(foo_instance.bar)
// Python: foo_instance.spam = "hello"; print(foo_instance.spam)
#define PY_CLASS_MEMBER_RW_EX(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, s_doc, i_dispatcher)
Export getter/setter method pair as read/write Python property with full control.

Definition at line 7652 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_RW_NAME_DOC

#define PY_CLASS_MEMBER_RW_NAME_DOC ( t_cppClass,
i_cppGetter,
i_cppSetter,
s_memberName,
s_doc )
Value:
PY_CLASS_MEMBER_RW_EX(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_memberRW, t_cppClass)))

Export getter/setter method pair as read/write Python property with custom name and documentation.

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

Parameters
t_cppClassC++ class containing the getter and setter methods
i_cppGetterC++ method name used to get the attribute value
i_cppSetterC++ method name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_MEMBER_RW_EX

Definition at line 7699 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_RW_NAME

#define PY_CLASS_MEMBER_RW_NAME ( t_cppClass,
i_cppGetter,
i_cppSetter,
s_memberName )
Value:
PY_CLASS_MEMBER_RW_NAME_DOC(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, 0)
#define PY_CLASS_MEMBER_RW_NAME_DOC(t_cppClass, i_cppGetter, i_cppSetter, s_memberName, s_doc)
Export getter/setter method pair as read/write Python property with custom name and documentation.

Export getter/setter method pair as read/write Python property with custom name (no documentation).

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

Parameters
t_cppClassC++ class containing the getter and setter methods
i_cppGetterC++ method name used to get the attribute value
i_cppSetterC++ method name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_MEMBER_RW_EX

Definition at line 7715 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_RW_DOC

#define PY_CLASS_MEMBER_RW_DOC ( t_cppClass,
i_cppGetter,
i_cppSetter,
s_doc )
Value:
PY_CLASS_MEMBER_RW_NAME_DOC(t_cppClass, i_cppGetter, i_cppSetter, LASS_STRINGIFY(i_cppGetter), s_doc)

Export getter/setter method pair as read/write Python property (name derived from getter, with documentation).

Convenience macro that wraps PY_CLASS_MEMBER_RW_NAME_DOC() with s_memberName derived from i_cppGetter.

Parameters
t_cppClassC++ class containing the getter and setter methods
i_cppGetterC++ method name used to get the attribute value (also used as Python property name)
i_cppSetterC++ method name used to set the attribute value
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_MEMBER_RW_EX

Definition at line 7730 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_RW

#define PY_CLASS_MEMBER_RW ( t_cppClass,
i_cppGetter,
i_cppSetter )
Value:
PY_CLASS_MEMBER_RW_DOC(t_cppClass, i_cppGetter, i_cppSetter, 0)

Export getter/setter method pair as read/write Python property (name derived from getter, no documentation).

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

Parameters
t_cppClassC++ class containing the getter and setter methods
i_cppGetterC++ method name used to get the attribute value (also used as Python property name)
i_cppSetterC++ method name used to set the attribute value
See also
PY_CLASS_MEMBER_RW_EX

Definition at line 7744 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_R_EX

#define PY_CLASS_MEMBER_R_EX ( t_cppClass,
i_cppGetter,
s_memberName,
s_doc,
i_dispatcher )
Value:
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE(i_dispatcher, _getter)( PyObject* iObject, void* )\
{\
try \
{ \
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
TShadowTraits::TCppClassPtr self; \
if (TShadowTraits::getObject(iObject, self) == 0)\
{ \
return ::lass::python::pyBuildSimpleObject(self->i_cppGetter()); \
} \
PyErr_Clear(); \
TShadowTraits::TConstCppClassPtr constSelf; \
if (TShadowTraits::getObject(iObject, constSelf) == 0)\
{ \
return ::lass::python::pyBuildSimpleObject(constSelf->i_cppGetter()); \
} \
return 0; \
} \
LASS_PYTHON_CATCH_AND_RETURN \
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass::_lassPyClassDef.addGetSetter(\
s_memberName, s_doc,\
LASS_CONCATENATE(i_dispatcher, _getter), 0);\
)

Export getter method as read-only Python property with full control.

This is the most flexible read-only member export macro, allowing manual dispatcher naming. Exports a C++ getter method as a Python read-only property (no setter provided).

Parameters
t_cppClassC++ class containing the getter method
i_cppGetterC++ method name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher function
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
const int getBar() const { return bar_; }
private:
int bar_;
};
// foo.cpp
PY_CLASS_MEMBER_R_EX(Foo, getBar, "bar", "read-only property", foo_bar_getter)
// Python: print(foo_instance.bar) # Read-only access
#define PY_CLASS_MEMBER_R_EX(t_cppClass, i_cppGetter, s_memberName, s_doc, i_dispatcher)
Export getter method as read-only Python property with full control.

Definition at line 7779 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_R_NAME_DOC

#define PY_CLASS_MEMBER_R_NAME_DOC ( t_cppClass,
i_cppGetter,
s_memberName,
s_doc )
Value:
PY_CLASS_MEMBER_R_EX(t_cppClass, i_cppGetter, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_memberR, t_cppClass)))

Export getter method as read-only Python property with custom name and documentation.

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

Parameters
t_cppClassC++ class containing the getter method
i_cppGetterC++ method name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_MEMBER_R_EX

Definition at line 7820 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_R_NAME

#define PY_CLASS_MEMBER_R_NAME ( t_cppClass,
i_cppGetter,
s_memberName )
Value:
PY_CLASS_MEMBER_R_NAME_DOC(t_cppClass, i_cppGetter, s_memberName, 0)
#define PY_CLASS_MEMBER_R_NAME_DOC(t_cppClass, i_cppGetter, s_memberName, s_doc)
Export getter method as read-only Python property with custom name and documentation.

Export getter method as read-only Python property with custom name (no documentation).

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

Parameters
t_cppClassC++ class containing the getter method
i_cppGetterC++ method name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_MEMBER_R_EX

Definition at line 7835 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_R_DOC

#define PY_CLASS_MEMBER_R_DOC ( t_cppClass,
i_cppGetter,
s_doc )
Value:
PY_CLASS_MEMBER_R_NAME_DOC(t_cppClass, i_cppGetter, LASS_STRINGIFY(i_cppGetter), s_doc)

Export getter method as read-only Python property (name derived from getter, with documentation).

Convenience macro that wraps PY_CLASS_MEMBER_R_NAME_DOC() with s_memberName derived from i_cppGetter.

Parameters
t_cppClassC++ class containing the getter method
i_cppGetterC++ method name used to get the attribute value (also used as Python property name)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_MEMBER_R_EX

Definition at line 7849 of file pyobject_macros.h.

◆ PY_CLASS_MEMBER_R

#define PY_CLASS_MEMBER_R ( t_cppClass,
i_cppGetter )
Value:
PY_CLASS_MEMBER_R_DOC(t_cppClass, i_cppGetter, 0)
#define PY_CLASS_MEMBER_R_DOC(t_cppClass, i_cppGetter, s_doc)
Export getter method as read-only Python property (name derived from getter, with documentation).

Export getter method as read-only Python property using method name.

Convenience macro that wraps PY_CLASS_MEMBER_R_DOC() with method name as property name and no documentation.

Parameters
t_cppClassC++ class containing the getter method
i_cppGetterC++ method name used to get the attribute value (also used as Python property name)
See also
PY_CLASS_MEMBER_R_EX

Definition at line 7863 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_RW_EX

#define PY_CLASS_FREE_MEMBER_RW_EX ( t_cppClass,
i_cppFreeGetter,
i_cppFreeSetter,
s_memberName,
s_doc,
i_dispatcher )
Value:
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE(i_dispatcher, _getter)( PyObject* iObject, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
return ::lass::python::impl::CallMethod<TShadowTraits>::freeGet( iObject, i_cppFreeGetter );\
}\
extern "C" int LASS_CONCATENATE(i_dispatcher, _setter)( PyObject* iObject, PyObject* iArgs, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
return ::lass::python::impl::CallMethod<TShadowTraits>::freeSet( iArgs, iObject, i_cppFreeSetter );\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addGetSetter(\
s_memberName, s_doc,\
LASS_CONCATENATE(i_dispatcher, _getter), LASS_CONCATENATE(i_dispatcher, _setter));\
)

Export free function accessors as read-write Python property.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_RW_EX() instead.

Exports a pair of free functions as read/write Python property. Unlike member method-based macros, this uses standalone functions that take the object as their first parameter.

Parameters
t_cppClassC++ class to add the property to
i_cppFreeGetterFree function name used to get the attribute value
i_cppFreeSetterFree function name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
int bar;
};
int getBar(const Foo const* iThis)
{
return iThis->bar;
}
void setBar(Foo* iThis, int iBar)
{
iBar->bar = abar;
}
// foo.cpp
PY_CLASS_FREE_MEMBER_RW_EX(Foo, getBar, setBar, "bar", "regular get and setter")
#define PY_CLASS_FREE_MEMBER_RW_EX(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, s_doc, i_dispatcher)
Export free function accessors as read-write Python property.

Definition at line 7906 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_RW_NAME_DOC

#define PY_CLASS_FREE_MEMBER_RW_NAME_DOC ( t_cppClass,
i_cppFreeGetter,
i_cppFreeSetter,
s_memberName,
s_doc )
Value:
PY_CLASS_FREE_MEMBER_RW_EX(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_freeMemberRW, t_cppClass)))

Export free function accessors as read-write Python property with custom name and documentation.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_RW_NAME_DOC() instead.

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

Parameters
t_cppClassC++ class to add the property to
i_cppFreeGetterFree function name used to get the attribute value
i_cppFreeSetterFree function name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_MEMBER_RW_EX

Definition at line 7939 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_RW_NAME

#define PY_CLASS_FREE_MEMBER_RW_NAME ( t_cppClass,
i_cppFreeGetter,
i_cppFreeSetter,
s_memberName )
Value:
PY_CLASS_FREE_MEMBER_RW_NAME_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, 0)
#define PY_CLASS_FREE_MEMBER_RW_NAME_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_memberName, s_doc)
Export free function accessors as read-write Python property with custom name and documentation.

Export free function accessors as read-write Python property with custom name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_RW_NAME() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_RW_NAME_DOC() with no documentation.

Parameters
t_cppClassC++ class to add the property to
i_cppFreeGetterFree function name used to get the attribute value
i_cppFreeSetterFree function name used to set the attribute value
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_FREE_MEMBER_RW_EX

Definition at line 7957 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_RW_DOC

#define PY_CLASS_FREE_MEMBER_RW_DOC ( t_cppClass,
i_cppFreeGetter,
i_cppFreeSetter,
s_doc )
Value:
PY_CLASS_FREE_MEMBER_RW_NAME_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, LASS_STRINGIFY(i_cppFreeGetter), s_doc)

Export free function accessors as read-write Python property using function name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_RW_DOC() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_RW_NAME_DOC() with function name as property name.

Parameters
t_cppClassC++ class to add the property to
i_cppFreeGetterFree function name used to get the attribute value (also used as Python property name)
i_cppFreeSetterFree function name used to set the attribute value
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_MEMBER_RW_EX

Definition at line 7974 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_RW

#define PY_CLASS_FREE_MEMBER_RW ( t_cppClass,
i_cppFreeGetter,
i_cppFreeSetter )
Value:
PY_CLASS_FREE_MEMBER_RW_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, 0)
#define PY_CLASS_FREE_MEMBER_RW_DOC(t_cppClass, i_cppFreeGetter, i_cppFreeSetter, s_doc)
Export free function accessors as read-write Python property using function name.

Export free function accessors as read-write Python property using function name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_RW() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_RW_DOC() with function name as property name and no documentation.

Parameters
t_cppClassC++ class to add the property to
i_cppFreeGetterFree function name used to get the attribute value (also used as Python property name)
i_cppFreeSetterFree function name used to set the attribute value
See also
PY_CLASS_FREE_MEMBER_RW_EX

Definition at line 7991 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_R_EX

#define PY_CLASS_FREE_MEMBER_R_EX ( t_cppClass,
i_freeCppGetter,
s_memberName,
s_doc,
i_dispatcher )
Value:
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE(i_dispatcher, _getter)( PyObject* iObject, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
return ::lass::python::impl::CallMethod<TShadowTraits>::freeGet( iObject, i_freeCppGetter );\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addGetSetter(\
s_memberName, s_doc,\
LASS_CONCATENATE(i_dispatcher, _getter), 0);\
)

Export free function accessor as read-only Python property.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_R_EX() instead.

Exports a free function as read-only Python property. Unlike member method-based macros, this uses a standalone function that takes the object as its first parameter.

Parameters
t_cppClassC++ class to add the property to
i_freeCppGetterFree function name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
int bar;
};
int getBar(const Foo const* iThis)
{
return iThis->bar;
}
// foo.cpp
PY_CLASS_FREE_MEMBER_R_EX(Foo, getBar, "bar", "regular get and setter")
#define PY_CLASS_FREE_MEMBER_R_EX(t_cppClass, i_freeCppGetter, s_memberName, s_doc, i_dispatcher)
Export free function accessor as read-only Python property.

Definition at line 8029 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_R_NAME_DOC

#define PY_CLASS_FREE_MEMBER_R_NAME_DOC ( t_cppClass,
i_freeCppGetter,
s_memberName,
s_doc )
Value:
PY_CLASS_FREE_MEMBER_R_EX(t_cppClass, i_freeCppGetter, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_freeMemberR, t_cppClass)))

Export free function accessor as read-only Python property with custom name and documentation.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_R_NAME_DOC() instead.

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

Parameters
t_cppClassC++ class to add the property to
i_freeCppGetterFree function name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_MEMBER_R_EX

Definition at line 8056 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_R_NAME

#define PY_CLASS_FREE_MEMBER_R_NAME ( t_cppClass,
i_freeCppGetter,
s_memberName )
Value:
PY_CLASS_FREE_MEMBER_R_NAME_DOC(t_cppClass, i_freeCppGetter, s_memberName, 0)
#define PY_CLASS_FREE_MEMBER_R_NAME_DOC(t_cppClass, i_freeCppGetter, s_memberName, s_doc)
Export free function accessor as read-only Python property with custom name and documentation.

Export free function accessor as read-only Python property with custom name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_R_NAME() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_R_NAME_DOC() with no documentation.

Parameters
t_cppClassC++ class to add the property to
i_freeCppGetterFree function name used to get the attribute value
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_FREE_MEMBER_R_EX

Definition at line 8073 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_R_DOC

#define PY_CLASS_FREE_MEMBER_R_DOC ( t_cppClass,
i_freeCppGetter,
s_doc )
Value:
PY_CLASS_FREE_MEMBER_R_NAME_DOC(t_cppClass, i_freeCppGetter, LASS_STRINGIFY(i_freeCppGetter), s_doc)

Export free function accessor as read-only Python property using function name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_R_DOC() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_R_NAME_DOC() with function name as property name.

Parameters
t_cppClassC++ class to add the property to
i_freeCppGetterFree function name used to get the attribute value (also used as Python property name)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_FREE_MEMBER_R_EX

Definition at line 8089 of file pyobject_macros.h.

◆ PY_CLASS_FREE_MEMBER_R

#define PY_CLASS_FREE_MEMBER_R ( t_cppClass,
i_freeCppGetter )
Value:
PY_CLASS_FREE_MEMBER_R_DOC(t_cppClass, i_freeCppGetter, 0)
#define PY_CLASS_FREE_MEMBER_R_DOC(t_cppClass, i_freeCppGetter, s_doc)
Export free function accessor as read-only Python property using function name.

Export free function accessor as read-only Python property using function name.

Deprecated
Use member method-based macros like PY_CLASS_MEMBER_R() instead.

Convenience macro that wraps PY_CLASS_FREE_MEMBER_R_DOC() with function name as property name and no documentation.

Parameters
t_cppClassC++ class to add the property to
i_freeCppGetterFree function name used to get the attribute value (also used as Python property name)
See also
PY_CLASS_FREE_MEMBER_R_EX

Definition at line 8105 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_EX

#define PY_CLASS_PUBLIC_MEMBER_EX ( t_cppClass,
i_cppMember,
s_memberName,
s_doc,
i_dispatcher )
Value:
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE(i_dispatcher, _getter)(PyObject* obj, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
TShadowTraits::TConstCppClassPtr self;\
if (TShadowTraits::getObject(obj, self) != 0)\
{\
return 0;\
}\
return lass::python::pyBuildSimpleObject(self->i_cppMember);\
}\
extern "C" LASS_DLL_LOCAL int LASS_CONCATENATE(i_dispatcher, _setter)(PyObject* obj,PyObject* args, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
TShadowTraits::TCppClassPtr self;\
if (TShadowTraits::getObject(obj, self) != 0)\
{\
return -1;\
}\
return -::lass::python::pyGetSimpleObject(args, self->i_cppMember);\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addGetSetter(\
s_memberName, s_doc,\
LASS_CONCATENATE(i_dispatcher, _getter), LASS_CONCATENATE(i_dispatcher, _setter));\
)

Export public data member as read-write Python property.

Exports a public data member directly as a Python property, allowing both read and write access. This provides direct access to the C++ member variable without requiring getter/setter methods.

Parameters
t_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
int bar;
};
// foo.cpp
PY_CLASS_PUBLIC_MEMBER_EX(Foo, bar, "bar", "blablabla")
#define PY_CLASS_PUBLIC_MEMBER_EX(t_cppClass, i_cppMember, s_memberName, s_doc, i_dispatcher)
Export public data member as read-write Python property.

Definition at line 8134 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_NAME_DOC

#define PY_CLASS_PUBLIC_MEMBER_NAME_DOC ( i_cppClass,
i_cppMember,
s_memberName,
s_doc )
Value:
PY_CLASS_PUBLIC_MEMBER_EX( i_cppClass, i_cppMember, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_publicMember_, i_cppClass)))

Export public data member as read-write Python property with custom name and documentation.

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

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_PUBLIC_MEMBER_EX

Definition at line 8174 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_NAME

#define PY_CLASS_PUBLIC_MEMBER_NAME ( i_cppClass,
i_cppMember,
s_memberName )
Value:
PY_CLASS_PUBLIC_MEMBER_NAME_DOC( i_cppClass, i_cppMember, s_memberName, 0 )
#define PY_CLASS_PUBLIC_MEMBER_NAME_DOC(i_cppClass, i_cppMember, s_memberName, s_doc)
Export public data member as read-write Python property with custom name and documentation.

Export public data member as read-write Python property with custom name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_NAME_DOC() with no documentation.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_PUBLIC_MEMBER_EX

Definition at line 8189 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_DOC

#define PY_CLASS_PUBLIC_MEMBER_DOC ( i_cppClass,
i_cppMember,
s_doc )
Value:
PY_CLASS_PUBLIC_MEMBER_NAME_DOC( i_cppClass, i_cppMember, LASS_STRINGIFY(i_cppMember), s_doc )

Export public data member as read-write Python property using member name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_NAME_DOC() with member name as property name.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export (also used as Python property name)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_PUBLIC_MEMBER_EX

Definition at line 8203 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER

#define PY_CLASS_PUBLIC_MEMBER ( i_cppClass,
i_cppMember )
Value:
PY_CLASS_PUBLIC_MEMBER_NAME_DOC( i_cppClass, i_cppMember, LASS_STRINGIFY(i_cppMember), 0 )

Export public data member as read-write Python property using member name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_NAME_DOC() with member name as property name and no documentation.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export (also used as Python property name)
See also
PY_CLASS_PUBLIC_MEMBER_EX

Definition at line 8217 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_R_EX

#define PY_CLASS_PUBLIC_MEMBER_R_EX ( t_cppClass,
i_cppMember,
s_memberName,
s_doc,
i_dispatcher )
Value:
extern "C" LASS_DLL_LOCAL PyObject* LASS_CONCATENATE(i_dispatcher, _getter)(PyObject* obj, void* )\
{\
typedef ::lass::python::impl::ShadowTraits< t_cppClass > TShadowTraits;\
TShadowTraits::TConstCppClassPtr self;\
if (TShadowTraits::getObject(obj, self) != 0)\
{\
return 0;\
}\
return lass::python::pyBuildSimpleObject(self->i_cppMember);\
}\
LASS_EXECUTE_BEFORE_MAIN_EX\
( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass ::_lassPyClassDef.addGetSetter(\
s_memberName, s_doc,\
LASS_CONCATENATE(i_dispatcher, _getter), nullptr);\
)

Export public data member as read-only Python property.

Exports a public data member directly as a read-only Python property, allowing only read access. This provides direct read access to the C++ member variable without requiring a getter method. Useful for const members or when write access should be restricted.

Parameters
t_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
const int bar;
};
// foo.cpp
PY_CLASS_PUBLIC_MEMBER_R_EX(Foo, bar, "bar", "read-only member")
#define PY_CLASS_PUBLIC_MEMBER_R_EX(t_cppClass, i_cppMember, s_memberName, s_doc, i_dispatcher)
Export public data member as read-only Python property.

Definition at line 8250 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC

#define PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC ( i_cppClass,
i_cppMember,
s_memberName,
s_doc )
Value:
PY_CLASS_PUBLIC_MEMBER_R_EX(i_cppClass, i_cppMember, s_memberName, s_doc,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_publicMemberR_, i_cppClass)))

Export public data member as read-only Python property with custom name and documentation.

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

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_PUBLIC_MEMBER_R_EX

Definition at line 8280 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_R_NAME

#define PY_CLASS_PUBLIC_MEMBER_R_NAME ( i_cppClass,
i_cppMember,
s_memberName )
Value:
PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC(i_cppClass, i_cppMember, s_memberName, 0 )
#define PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC(i_cppClass, i_cppMember, s_memberName, s_doc)
Export public data member as read-only Python property with custom name and documentation.

Export public data member as read-only Python property with custom name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC() with no documentation.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export
s_memberNamePython property name (null-terminated C string literal)
See also
PY_CLASS_PUBLIC_MEMBER_R_EX

Definition at line 8295 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_R_DOC

#define PY_CLASS_PUBLIC_MEMBER_R_DOC ( i_cppClass,
i_cppMember,
s_doc )
Value:
PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC(i_cppClass, i_cppMember, LASS_STRINGIFY(i_cppMember), s_doc)

Export public data member as read-only Python property using member name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC() with member name as property name.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export (also used as Python property name)
s_docProperty documentation string (null-terminated C string literal, may be nullptr)
See also
PY_CLASS_PUBLIC_MEMBER_R_EX

Definition at line 8309 of file pyobject_macros.h.

◆ PY_CLASS_PUBLIC_MEMBER_R

#define PY_CLASS_PUBLIC_MEMBER_R ( i_cppClass,
i_cppMember )
Value:
PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC(i_cppClass, i_cppMember, LASS_STRINGIFY(i_cppMember), 0)

Export public data member as read-only Python property using member name.

Convenience macro that wraps PY_CLASS_PUBLIC_MEMBER_R_NAME_DOC() with member name as property name and no documentation.

Parameters
i_cppClassC++ class containing the public member
i_cppMemberC++ public data member name to export (also used as Python property name)
See also
PY_CLASS_PUBLIC_MEMBER_R_EX

Definition at line 8323 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_EX

#define PY_CLASS_CONSTRUCTOR_EX ( t_cppClass,
t_params,
i_dispatcher )
Value:
static newfunc LASS_CONCATENATE(i_dispatcher, _overloadChain) = 0;\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher(PyTypeObject *iSubtype, PyObject *iArgs, PyObject *iKwds)\
{\
if (LASS_CONCATENATE(i_dispatcher, _overloadChain))\
{\
PyObject* result = LASS_CONCATENATE(i_dispatcher, _overloadChain)(\
iSubtype, iArgs, iKwds);\
if (!(PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_TypeError)))\
{\
return result;\
}\
PyErr_Clear();\
Py_XDECREF(result);\
}\
return ::lass::python::impl::ExplicitResolver\
<\
::lass::python::impl::ShadowTraits< t_cppClass >,\
::lass::meta::NullType,\
t_params\
>\
::callConstructor(iSubtype, iArgs);\
}\
LASS_EXECUTE_BEFORE_MAIN_EX( LASS_CONCATENATE(i_dispatcher, _executeBeforeMain),\
t_cppClass::_lassPyClassDef.addConstructor( \
i_dispatcher, \
LASS_CONCATENATE(i_dispatcher, _overloadChain) \
); \
)

Export C++ constructor as Python class constructor with full control.

Makes an abstract Python class concrete by adding a constructor. All Python classes are abstract by default with no constructors to create instances. This macro provides the most flexible constructor export with manual dispatcher naming.

Parameters
t_cppClassC++ class to add the constructor to
t_paramslass::meta::TypeTuple of constructor parameter types (use meta::TypeTuple<> for no parameters)
i_dispatcherUnique identifier for the generated dispatcher functions
// foo.h
class Foo
{
PY_HEADER(python::PyObjectPlus)
public:
Foo();
Foo(int iA, const std::string& iB);
};
// foo.cpp
PY_CLASS_CONSTRUCTOR(Foo, meta::TypeTuple<>) // constructor without arguments.
typedef meta::TypeTuple<int, std::string> TArguments;
PY_CLASS_CONSTRUCTOR(Foo, TArguments) // constructor with some arguments. *
#define PY_CLASS_CONSTRUCTOR(i_cppClass, t_params)
Export C++ constructor as Python class constructor.

Definition at line 8379 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR

#define PY_CLASS_CONSTRUCTOR ( i_cppClass,
t_params )
Value:
PY_CLASS_CONSTRUCTOR_EX(i_cppClass, t_params,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_constructor_, i_cppClass)))
#define PY_CLASS_CONSTRUCTOR_EX(t_cppClass, t_params, i_dispatcher)
Export C++ constructor as Python class constructor with full control.

Export C++ constructor as Python class constructor.

Convenience macro that wraps PY_CLASS_CONSTRUCTOR_EX() with auto-generated dispatcher name. Makes an abstract Python class concrete by adding a constructor.

Parameters
i_cppClassC++ class to add the constructor to
t_paramslass::meta::TypeTuple of constructor parameter types
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8420 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_0

#define PY_CLASS_CONSTRUCTOR_0 ( t_cppClass)
Value:
PY_CLASS_CONSTRUCTOR( t_cppClass, ::lass::meta::TypeTuple<> )

Export C++ default constructor as Python class constructor.

Convenience macro for exporting a parameterless C++ constructor. Equivalent to PY_CLASS_CONSTRUCTOR(t_cppClass, meta::TypeTuple<>).

Parameters
t_cppClassC++ class to add the default constructor to
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8434 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_1

#define PY_CLASS_CONSTRUCTOR_1 ( t_cppClass,
t_P1 )
Value:
typedef ::lass::meta::TypeTuple< t_P1 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 1 parameters.

Convenience macro for exporting a C++ constructor with exactly 1 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8448 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_2

#define PY_CLASS_CONSTRUCTOR_2 ( t_cppClass,
t_P1,
t_P2 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 2 parameters.

Convenience macro for exporting a C++ constructor with exactly 2 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8465 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_3

#define PY_CLASS_CONSTRUCTOR_3 ( t_cppClass,
t_P1,
t_P2,
t_P3 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 3 parameters.

Convenience macro for exporting a C++ constructor with exactly 3 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8482 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_4

#define PY_CLASS_CONSTRUCTOR_4 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 4 parameters.

Convenience macro for exporting a C++ constructor with exactly 4 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8499 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_5

#define PY_CLASS_CONSTRUCTOR_5 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 5 parameters.

Convenience macro for exporting a C++ constructor with exactly 5 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8516 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_6

#define PY_CLASS_CONSTRUCTOR_6 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 6 parameters.

Convenience macro for exporting a C++ constructor with exactly 6 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8533 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_7

#define PY_CLASS_CONSTRUCTOR_7 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 7 parameters.

Convenience macro for exporting a C++ constructor with exactly 7 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8550 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_8

#define PY_CLASS_CONSTRUCTOR_8 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 8 parameters.

Convenience macro for exporting a C++ constructor with exactly 8 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8567 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_9

#define PY_CLASS_CONSTRUCTOR_9 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 9 parameters.

Convenience macro for exporting a C++ constructor with exactly 9 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8584 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_10

#define PY_CLASS_CONSTRUCTOR_10 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 10 parameters.

Convenience macro for exporting a C++ constructor with exactly 10 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8601 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_11

#define PY_CLASS_CONSTRUCTOR_11 ( t_cppClass,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 11 parameters.

Convenience macro for exporting a C++ constructor with exactly 11 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8618 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_12

#define PY_CLASS_CONSTRUCTOR_12 ( t_cppClass,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 12 parameters.

Convenience macro for exporting a C++ constructor with exactly 12 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8635 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_13

#define PY_CLASS_CONSTRUCTOR_13 ( t_cppClass,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 13 parameters.

Convenience macro for exporting a C++ constructor with exactly 13 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8652 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_14

#define PY_CLASS_CONSTRUCTOR_14 ( t_cppClass,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 14 parameters.

Convenience macro for exporting a C++ constructor with exactly 14 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13,
t_P14Type of parameter 14
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8669 of file pyobject_macros.h.

◆ PY_CLASS_CONSTRUCTOR_15

#define PY_CLASS_CONSTRUCTOR_15 ( t_cppClass,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_CONSTRUCTOR(\
t_cppClass, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ constructor as Python class constructor with 15 parameters.

Convenience macro for exporting a C++ constructor with exactly 15 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13,
t_P14Type of parameter 14,
t_P15Type of parameter 15
See also
PY_CLASS_CONSTRUCTOR_EX

Definition at line 8686 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_EX

#define PY_CLASS_FREE_CONSTRUCTOR_EX ( t_cppClass,
f_cppFunction,
t_params,
i_dispatcher )
Value:
static newfunc LASS_CONCATENATE(i_dispatcher, _overloadChain) = 0;\
extern "C" LASS_DLL_LOCAL PyObject* i_dispatcher( PyTypeObject *iSubtype, PyObject *iArgs, PyObject *iKwds )\
{\
if (LASS_CONCATENATE(i_dispatcher, _overloadChain))\
{\
PyObject* result = LASS_CONCATENATE(i_dispatcher, _overloadChain)(iSubtype, iArgs, iKwds);\
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(i_dispatcher, _executeBeforeMain), \
t_cppClass::_lassPyClassDef.addConstructor(\
i_dispatcher, \
LASS_CONCATENATE(i_dispatcher, _overloadChain) \
); \
)

Export C++ factory function as Python constructor with full control.

The most detailed macro for exporting factory functions as constructors. Allows manual specification of all parameters including the dispatcher name for maximum control over the export process.

Parameters
t_cppClassthe C++ class you want to add the constructor method to.
f_cppFunctionthe full name of the C++ function that implements the constructor method if the return argument is not of type t_cppClass the compiler will flag this as an error. This is a design decision to protect against runtime surprises.
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 per exported C++ class/method pair.
Remarks
No documentation can be provided for constructors, this is a limitation of Python. Although the automatic function prototype matching could resolve without specifying the number of arguments of the constructor like function for the sake of uniformity with PY_CLASS_CONSTRUCTOR the same format of macro is employed. This also means that there is no need for a QUALIFIED version.
// foo.h
class Foo
{
public:
};
Foo spam(int iB);
Foo spamming(int iB, int iC);
// foo.cpp
PY_CLASS_FREE_CONSTRUCTOR_2(Foo, spamming, int, int )
#define PY_CLASS_FREE_CONSTRUCTOR_1(t_cppClass, f_cppFunction, t_P1)
Export C++ factory function as Python constructor with 1 parameters.
#define PY_CLASS_FREE_CONSTRUCTOR_2(t_cppClass, f_cppFunction, t_P1, t_P2)
Export C++ factory function as Python constructor with 2 parameters.

Definition at line 8749 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR

#define PY_CLASS_FREE_CONSTRUCTOR ( i_cppClass,
f_cppFunction,
t_params )
Value:
PY_CLASS_FREE_CONSTRUCTOR_EX(i_cppClass, f_cppFunction, t_params,\
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_constructor_, i_cppClass)))
#define PY_CLASS_FREE_CONSTRUCTOR_EX(t_cppClass, f_cppFunction, t_params, i_dispatcher)
Export C++ factory function as Python constructor with full control.

Convenience wrapper for PY_CLASS_FREE_CONSTRUCTOR_EX.

Automatically generates a unique dispatcher name.

Parameters
i_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_paramsmeta::TypeTuple containing parameter types
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8782 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_0

#define PY_CLASS_FREE_CONSTRUCTOR_0 ( t_cppClass,
f_cppFunction )
Value:
PY_CLASS_FREE_CONSTRUCTOR( t_cppClass, f_cppFunction, ::lass::meta::TypeTuple<> )
#define PY_CLASS_FREE_CONSTRUCTOR(i_cppClass, f_cppFunction, t_params)
Convenience wrapper for PY_CLASS_FREE_CONSTRUCTOR_EX.

Export C++ factory function as Python constructor with 0 parameters.

Convenience macro for exporting a factory function that takes no parameters.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8796 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_1

#define PY_CLASS_FREE_CONSTRUCTOR_1 ( t_cppClass,
f_cppFunction,
t_P1 )
Value:
typedef ::lass::meta::TypeTuple< t_P1 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 1 parameters.

Convenience macro for exporting a factory function with exactly 1 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8811 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_2

#define PY_CLASS_FREE_CONSTRUCTOR_2 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 2 parameters.

Convenience macro for exporting a factory function with exactly 2 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8829 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_3

#define PY_CLASS_FREE_CONSTRUCTOR_3 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 3 parameters.

Convenience macro for exporting a factory function with exactly 3 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8847 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_4

#define PY_CLASS_FREE_CONSTRUCTOR_4 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 4 parameters.

Convenience macro for exporting a factory function with exactly 4 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8865 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_5

#define PY_CLASS_FREE_CONSTRUCTOR_5 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 5 parameters.

Convenience macro for exporting a factory function with exactly 5 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8883 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_6

#define PY_CLASS_FREE_CONSTRUCTOR_6 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 6 parameters.

Convenience macro for exporting a factory function with exactly 6 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8901 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_7

#define PY_CLASS_FREE_CONSTRUCTOR_7 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7 )
Value:
typedef ::lass::meta::TypeTuple< t_P1, t_P2, t_P3, t_P4, t_P5, t_P6, t_P7 > \
LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 7 parameters.

Convenience macro for exporting a factory function with exactly 7 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8919 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_8

#define PY_CLASS_FREE_CONSTRUCTOR_8 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 8 parameters.

Convenience macro for exporting a factory function with exactly 8 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8937 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_9

#define PY_CLASS_FREE_CONSTRUCTOR_9 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 9 parameters.

Convenience macro for exporting a factory function with exactly 9 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8955 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_10

#define PY_CLASS_FREE_CONSTRUCTOR_10 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 10 parameters.

Convenience macro for exporting a factory function with exactly 10 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8973 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_11

#define PY_CLASS_FREE_CONSTRUCTOR_11 ( t_cppClass,
f_cppFunction,
t_P1,
t_P2,
t_P3,
t_P4,
t_P5,
t_P6,
t_P7,
t_P8,
t_P9,
t_P10,
t_P11 )
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 11 parameters.

Convenience macro for exporting a factory function with exactly 11 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 8991 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_12

#define PY_CLASS_FREE_CONSTRUCTOR_12 ( t_cppClass,
f_cppFunction,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 12 parameters.

Convenience macro for exporting a factory function with exactly 12 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 9009 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_13

#define PY_CLASS_FREE_CONSTRUCTOR_13 ( t_cppClass,
f_cppFunction,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 13 parameters.

Convenience macro for exporting a factory function with exactly 13 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 9027 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_14

#define PY_CLASS_FREE_CONSTRUCTOR_14 ( t_cppClass,
f_cppFunction,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 14 parameters.

Convenience macro for exporting a factory function with exactly 14 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13,
t_P14Type of parameter 14
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 9045 of file pyobject_macros.h.

◆ PY_CLASS_FREE_CONSTRUCTOR_15

#define PY_CLASS_FREE_CONSTRUCTOR_15 ( t_cppClass,
f_cppFunction,
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:
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(lassPyImpl_TParams_, t_cppClass));\
PY_CLASS_FREE_CONSTRUCTOR(\
t_cppClass, f_cppFunction, LASS_UNIQUENAME(LASS_CONCATENATE(lassPyImpl_TParams_, t_cppClass)))

Export C++ factory function as Python constructor with 15 parameters.

Convenience macro for exporting a factory function with exactly 15 parameters. Automatically creates the required meta::TypeTuple from the parameter types.

Parameters
t_cppClassC++ class to add the constructor to
f_cppFunctionFactory function that creates the class instance
t_P1Type of parameter 1,
t_P2Type of parameter 2,
t_P3Type of parameter 3,
t_P4Type of parameter 4,
t_P5Type of parameter 5,
t_P6Type of parameter 6,
t_P7Type of parameter 7,
t_P8Type of parameter 8,
t_P9Type of parameter 9,
t_P10Type of parameter 10,
t_P11Type of parameter 11,
t_P12Type of parameter 12,
t_P13Type of parameter 13,
t_P14Type of parameter 14,
t_P15Type of parameter 15
See also
PY_CLASS_FREE_CONSTRUCTOR_EX

Definition at line 9063 of file pyobject_macros.h.