Special data structure which (temporarily) holds metadata about a bound class. More...
#include <attr.h>
Public Member Functions | |
PYBIND11_NOINLINE | type_record () |
PYBIND11_NOINLINE void | add_base (const std::type_info &base, void *(*caster)(void *)) |
Public Attributes | |
handle | scope |
Handle to the parent scope. More... | |
const char * | name = nullptr |
Name of the class. More... | |
const std::type_info * | type = nullptr |
size_t | type_size = 0 |
How large is the underlying C++ type? More... | |
size_t | type_align = 0 |
What is the alignment of the underlying C++ type? More... | |
size_t | holder_size = 0 |
How large is the type's holder? More... | |
void *(* | operator_new )(size_t) = nullptr |
The global operator new can be overridden with a class-specific variant. More... | |
void(* | init_instance )(instance *, const void *) = nullptr |
Function pointer to class_<..>::init_instance. More... | |
void(* | dealloc )(detail::value_and_holder &) = nullptr |
Function pointer to class_<..>::dealloc. More... | |
list | bases |
List of base classes of the newly created type. More... | |
const char * | doc = nullptr |
Optional docstring. More... | |
handle | metaclass |
Custom metaclass (optional) More... | |
bool | multiple_inheritance: 1 |
Multiple inheritance marker. More... | |
bool | dynamic_attr: 1 |
Does the class manage a dict? More... | |
bool | buffer_protocol: 1 |
Does the class implement the buffer protocol? More... | |
bool | default_holder: 1 |
Is the default (unique_ptr) holder type used? More... | |
bool | module_local: 1 |
Is the class definition local to the module shared object? More... | |
bool | is_final: 1 |
Is the class inheritable from python classes? More... | |
Special data structure which (temporarily) holds metadata about a bound class.
|
inline |
|
inline |
list type_record::bases |
bool type_record::buffer_protocol |
void(* type_record::dealloc) (detail::value_and_holder &) = nullptr |
bool type_record::default_holder |
size_t type_record::holder_size = 0 |
void(* type_record::init_instance) (instance *, const void *) = nullptr |
bool type_record::is_final |
bool type_record::module_local |
bool type_record::multiple_inheritance |
void*(* type_record::operator_new) (size_t) = nullptr |
size_t type_record::type_align = 0 |
size_t type_record::type_size = 0 |