cppattribute: wrap class/instance attributes¶
Wraps C++ class instance/static attributes.
-
class
pybindgen.cppattribute.
CppInstanceAttributeGetter
(value_type, class_, attribute_name, getter=None)¶ Bases:
pybindgen.cppattribute.PyGetter
A getter for a C++ instance attribute.
Parameters: - value_type – a ReturnValue object handling the value type;
- class – the class (CppClass object)
- attribute_name – name of attribute
- getter – None, or name of a method of the class used to get the value
-
generate
(code_sink)¶ Parameters: code_sink – a CodeSink instance that will receive the generated code
-
generate_call
()¶ virtual method implementation; do not call
-
class
pybindgen.cppattribute.
CppInstanceAttributeSetter
(value_type, class_, attribute_name, setter=None)¶ Bases:
pybindgen.cppattribute.PySetter
A setter for a C++ instance attribute.
Parameters: - value_type – a ReturnValue object handling the value type;
- class – the class (CppClass object)
- attribute_name – name of attribute
- setter – None, or name of a method of the class used to set the value
-
generate
(code_sink)¶ Parameters: code_sink – a CodeSink instance that will receive the generated code
-
class
pybindgen.cppattribute.
CppStaticAttributeGetter
(value_type, class_, attribute_name)¶ Bases:
pybindgen.cppattribute.PyGetter
A getter for a C++ class static attribute.
Parameters: - value_type – a ReturnValue object handling the value type;
- c_value_expression – C value expression
-
generate
(code_sink)¶ Parameters: code_sink – a CodeSink instance that will receive the generated code
-
generate_call
()¶ virtual method implementation; do not call
-
class
pybindgen.cppattribute.
CppStaticAttributeSetter
(value_type, class_, attribute_name)¶ Bases:
pybindgen.cppattribute.PySetter
A setter for a C++ class static attribute.
Parameters: - value_type – a ReturnValue object handling the value type;
- class – the class (CppClass object)
- attribute_name – name of attribute
-
generate
(code_sink)¶ Parameters: code_sink – a CodeSink instance that will receive the generated code
-
class
pybindgen.cppattribute.
PyGetSetDef
(cname)¶ Bases:
object
Class that generates a PyGetSet table
Parameters: cname – C name of the getset table -
add_attribute
(name, getter, setter, custom_name=None)¶ Add a new attribute :param name: attribute name :param getter: a PyGetter object, or None :param setter: a PySetter object, or None
-
empty
()¶
-
generate
(code_sink)¶ Generate the getset table, return the table C name or ‘0’ if the table is empty
-
-
class
pybindgen.cppattribute.
PyGetter
(return_value, parameters, parse_error_return, error_return, force_parse=None, no_c_retval=False, unblock_threads=False)¶ Bases:
pybindgen.typehandlers.base.ForwardWrapperBase
generates a getter, for use in a PyGetSetDef table
Base constructor
Parameters: - return_value – type handler for the return value
- parameters – a list of type handlers for the parameters
- parse_error_return – statement to return an error during parameter parsing
- error_return – statement to return an error after parameter parsing
- force_parse – force generation of code to parse parameters even if there are none
- no_c_retval – force the wrapper to not have a C return value
- unblock_threads – generate code to unblock python threads during the C function call
-
generate
(code_sink)¶ Generate the code of the getter to the given code sink
-
generate_call
()¶ (not actually called)
-
class
pybindgen.cppattribute.
PyMetaclass
(name, parent_metaclass_expr, getsets=None)¶ Bases:
object
Class that generates a Python metaclass
Parameters: - name – name of the metaclass (should normally end with Meta)
- parent_metaclass_expr – C expression that should give a pointer to the parent metaclass (should have a C type of PyTypeObject*)
- getsets – name of a PyGetSetDef C array variable, or None
-
generate
(code_sink, module)¶ Generate the metaclass to code_sink and register it in the module.
-
class
pybindgen.cppattribute.
PySetter
(return_value, parameters, error_return=None)¶ Bases:
pybindgen.typehandlers.base.ReverseWrapperBase
generates a setter, for use in a PyGetSetDef table
Base constructor
Parameters: - return_value – type handler for the return value
- parameters – a list of type handlers for the parameters
-
NO_GIL_LOCKING
= True¶
-
generate
(code_sink)¶ Generate the code of the setter to the given code sink
-
generate_python_call
()¶ (not actually called)