8#ifndef PYRAVEATTRIBUTETABLE_H
9#define PYRAVEATTRIBUTETABLE_H
22#define PyRaveAttributeTable_Type_NUM 0
24#define PyRaveAttributeTable_GetNative_NUM 1
25#define PyRaveAttributeTable_GetNative_RETURN RaveAttributeTable_t*
26#define PyRaveAttributeTable_GetNative_PROTO (PyRaveAttributeTable*)
28#define PyRaveAttributeTable_New_NUM 2
29#define PyRaveAttributeTable_New_RETURN PyRaveAttributeTable*
30#define PyRaveAttributeTable_New_PROTO (RaveAttributeTable_t*)
32#define PyRaveAttributeTable_API_pointers 3
34#define PyRaveAttributeTable_CAPSULE_NAME "_raveattributetable._C_API"
36#ifdef PY_RAVE_ATTRIBUTE_TABLE_MODULE
38extern PyTypeObject PyRaveAttributeTable_Type;
41#define PyRaveAttributeTable_Check(op) ((op)->ob_type == &PyRaveAttributeTable_Type)
44static PyRaveAttributeTable_GetNative_RETURN PyRaveAttributeTable_GetNative PyRaveAttributeTable_GetNative_PROTO;
47static PyRaveAttributeTable_New_RETURN PyRaveAttributeTable_New PyRaveAttributeTable_New_PROTO;
51static void **PyRaveAttributeTable_API;
57#define PyRaveAttributeTable_GetNative \
58 (*(PyRaveAttributeTable_GetNative_RETURN (*)PyRaveAttributeTable_GetNative_PROTO) PyRaveAttributeTable_API[PyRaveAttributeTable_GetNative_NUM])
67#define PyRaveAttributeTable_New \
68 (*(PyRaveAttributeTable_New_RETURN (*)PyRaveAttributeTable_New_PROTO) PyRaveAttributeTable_API[PyRaveAttributeTable_New_NUM])
73#define PyRaveAttributeTable_Check(op) \
74 (Py_TYPE(op) == &PyRaveAttributeTable_Type)
76#define PyRaveAttributeTable_Type (*(PyTypeObject*)PyRaveAttributeTable_API[PyRaveAttributeTable_Type_NUM])
81#define import_pyraveattributetabley() \
82 PyRaveAttributeTable_API = (void **)PyCapsule_Import(PyRaveAttributeTable_CAPSULE_NAME, 1);
Used for managing attributes and handle different versions.
A rave attribute table.
Definition pyraveattributetable.h:17
PyObject_HEAD RaveAttributeTable_t * table
the attributes
Definition pyraveattributetable.h:19
Represents one scan in a volume.
Definition rave_attribute_table.c:39