HepMC3 event record library
Public Member Functions | Data Fields
type_record Struct Reference

Special data structure which (temporarily) holds metadata about a bound class. More...

#include <attr.h>

+ Collaboration diagram for type_record:

Public Member Functions

PYBIND11_NOINLINE void add_base (const std::type_info &base, void *(*caster)(void *))
 

Data Fields

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...
 

Detailed Description

Special data structure which (temporarily) holds metadata about a bound class.

Definition at line 221 of file attr.h.

Field Documentation

list bases

List of base classes of the newly created type.

Definition at line 254 of file attr.h.

Does the class implement the buffer protocol?

Definition at line 269 of file attr.h.

void(* dealloc)(detail::value_and_holder &) = nullptr

Function pointer to class_<..>::dealloc.

Definition at line 251 of file attr.h.

bool default_holder

Is the default (unique_ptr) holder type used?

Definition at line 272 of file attr.h.

const char* doc = nullptr

Optional docstring.

Definition at line 257 of file attr.h.

Does the class manage a dict?

Definition at line 266 of file attr.h.

size_t holder_size = 0

How large is the type's holder?

Definition at line 242 of file attr.h.

void(* init_instance)(instance *, const void *) = nullptr

Function pointer to class_<..>::init_instance.

Definition at line 248 of file attr.h.

bool is_final

Is the class inheritable from python classes?

Definition at line 278 of file attr.h.

Custom metaclass (optional)

Definition at line 260 of file attr.h.

Is the class definition local to the module shared object?

Definition at line 275 of file attr.h.

Multiple inheritance marker.

Definition at line 263 of file attr.h.

const char* name = nullptr

Name of the class.

Definition at line 230 of file attr.h.

void*(* operator_new)(size_t) = nullptr

The global operator new can be overridden with a class-specific variant.

Definition at line 245 of file attr.h.

Handle to the parent scope.

Definition at line 227 of file attr.h.

size_t type_align = 0

What is the alignment of the underlying C++ type?

Definition at line 239 of file attr.h.

size_t type_size = 0

How large is the underlying C++ type?

Definition at line 236 of file attr.h.


The documentation for this struct was generated from the following file: