Public Member Functions | Public Attributes | List of all members
type_record Struct Reference

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

#include <attr.h>

Public Member Functions

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

Public Attributes

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

Detailed Description

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

Definition at line 272 of file attr.h.

Constructor & Destructor Documentation

◆ type_record()

PYBIND11_NOINLINE type_record::type_record ( )
inline

Definition at line 273 of file attr.h.

Member Function Documentation

◆ add_base()

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

Definition at line 334 of file attr.h.

Member Data Documentation

◆ bases

list type_record::bases

List of base classes of the newly created type.

Definition at line 305 of file attr.h.

◆ buffer_protocol

bool type_record::buffer_protocol

Does the class implement the buffer protocol?

Definition at line 323 of file attr.h.

◆ custom_type_setup_callback

custom_type_setup::callback type_record::custom_type_setup_callback

Custom type setup.

Definition at line 314 of file attr.h.

◆ dealloc

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

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

Definition at line 302 of file attr.h.

◆ default_holder

bool type_record::default_holder

Is the default (unique_ptr) holder type used?

Definition at line 326 of file attr.h.

◆ doc

const char* type_record::doc = nullptr

Optional docstring.

Definition at line 308 of file attr.h.

◆ dynamic_attr

bool type_record::dynamic_attr

Does the class manage a dict?

Definition at line 320 of file attr.h.

◆ holder_size

size_t type_record::holder_size = 0

How large is the type's holder?

Definition at line 293 of file attr.h.

◆ init_instance

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

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

Definition at line 299 of file attr.h.

◆ is_final

bool type_record::is_final

Is the class inheritable from python classes?

Definition at line 332 of file attr.h.

◆ metaclass

handle type_record::metaclass

Custom metaclass (optional)

Definition at line 311 of file attr.h.

◆ module_local

bool type_record::module_local

Is the class definition local to the module shared object?

Definition at line 329 of file attr.h.

◆ multiple_inheritance

bool type_record::multiple_inheritance

Multiple inheritance marker.

Definition at line 317 of file attr.h.

◆ name

const char* type_record::name = nullptr

Name of the class.

Definition at line 281 of file attr.h.

◆ operator_new

void*(* type_record::operator_new) (size_t) = nullptr

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

Definition at line 296 of file attr.h.

◆ scope

handle type_record::scope

Handle to the parent scope.

Definition at line 278 of file attr.h.

◆ type

const std::type_info* type_record::type = nullptr

Definition at line 284 of file attr.h.

◆ type_align

size_t type_record::type_align = 0

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

Definition at line 290 of file attr.h.

◆ type_size

size_t type_record::type_size = 0

How large is the underlying C++ type?

Definition at line 287 of file attr.h.


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


gtsam
Author(s):
autogenerated on Thu Jun 13 2024 03:12:01