Blender V5.0
idprop_py_api.cc File Reference
#include <algorithm>
#include <Python.h>
#include "python_compat.hh"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "idprop_py_api.hh"
#include "idprop_py_ui_api.hh"
#include "BKE_idprop.hh"
#include "DNA_ID.h"
#include "py_capi_utils.hh"
#include "python_utildefines.hh"

Go to the source code of this file.

Macros

#define USE_STRING_COERCE
#define SHARED_MEMBER_SET(member, value)
#define SHARED_MEMBER_SET(member, value)

Functions

bool pyrna_id_FromPyObject (PyObject *obj, ID **id)
PyObject * pyrna_id_CreatePyObject (ID *id)
bool pyrna_id_CheckPyObject (PyObject *obj)
Initialize Types
static PyObject * BPy_IDGroup_ViewKeys_CreatePyObject (BPy_IDProperty *group)
static PyObject * BPy_IDGroup_ViewValues_CreatePyObject (BPy_IDProperty *group)
static PyObject * BPy_IDGroup_ViewItems_CreatePyObject (BPy_IDProperty *group)
static BPy_IDGroup_ViewIDGroup_View_New_WithType (BPy_IDProperty *group, PyTypeObject *type)
void IDProp_Init_Types ()
Python from ID-Property (Internal Conversions)

Low level conversion to avoid duplicate code, no type checking.

static PyObject * idprop_py_from_idp_string (const IDProperty *prop)
static PyObject * idprop_py_from_idp_int (const IDProperty *prop)
static PyObject * idprop_py_from_idp_float (const IDProperty *prop)
static PyObject * idprop_py_from_idp_double (const IDProperty *prop)
static PyObject * idprop_py_from_idp_bool (const IDProperty *prop)
static PyObject * idprop_py_from_idp_group (ID *id, IDProperty *prop, IDProperty *parent)
static PyObject * idprop_py_from_idp_id (IDProperty *prop)
static PyObject * idprop_py_from_idp_array (ID *id, IDProperty *prop)
static PyObject * idprop_py_from_idp_idparray (ID *id, IDProperty *prop)
ID-Property from Python (Internal Conversions)
static IDPropertyidp_from_PyFloat (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
static IDPropertyidp_from_PyBool (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
static IDPropertyidp_from_PyLong (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
static IDPropertyidp_from_PyUnicode (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
static IDPropertyidp_from_PyBytes (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
static int idp_array_type_from_formatstr_and_size (const char *typestr, Py_ssize_t itemsize)
static const char * idp_format_from_array_type (int type)
static IDPropertyidp_from_PySequence_Buffer (IDProperty *prop_exist, const char *name, const Py_buffer &buffer, const int idp_type, const bool, const bool can_create)
static IDPropertyidp_from_PySequence_Fast (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
static IDPropertyidp_from_PySequence (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
static IDPropertyidp_from_PyMapping (IDProperty *, const char *name, PyObject *ob, const bool, const bool)
static IDPropertyidp_from_DatablockPointer (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
static IDPropertyidp_from_PyObject (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
Mapping Get/Set (Internal Access)
bool BPy_IDProperty_Map_ValidateAndCreate (PyObject *key, IDProperty *group, PyObject *ob)
int BPy_Wrap_SetMapItem (IDProperty *prop, PyObject *key, PyObject *val)
static int BPy_IDGroup_Map_SetItem (BPy_IDProperty *self, PyObject *key, PyObject *val)
static PyObject * BPy_IDGroup_iter (BPy_IDProperty *self)
PyObject * BPy_IDGroup_MapDataToPy (IDProperty *prop)

Variables

ID-Property Group Type
static PySequenceMethods BPy_IDGroup_Seq
static PyMappingMethods BPy_IDGroup_Mapping
PyTypeObject BPy_IDGroup_Type
ID Array Type
PyTypeObject BPy_IDArray_Type

IDProp Group Access

static PyGetSetDef BPy_IDGroup_getseters []
static Py_hash_t BPy_IDGroup_hash (BPy_IDProperty *self)
static PyObject * BPy_IDGroup_repr (BPy_IDProperty *self)
PyObject * BPy_IDGroup_WrapData (ID *id, IDProperty *prop, IDProperty *parent)
static PyObject * BPy_IDGroup_GetName (BPy_IDProperty *self, void *)
static int BPy_IDGroup_SetName (BPy_IDProperty *self, PyObject *value, void *)
static Py_ssize_t BPy_IDGroup_Map_Len (BPy_IDProperty *self)
static PyObject * BPy_IDGroup_Map_GetItem (BPy_IDProperty *self, PyObject *item)
static char idp_sequence_type (PyObject *seq_fast)
static const char * idp_try_read_name (PyObject *name_obj)

ID-Property Group Iterator Type

PyTypeObject BPy_IDGroup_IterKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
PyTypeObject BPy_IDGroup_IterValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
PyTypeObject BPy_IDGroup_IterItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
static PyObject * BPy_IDGroup_IterKeys_CreatePyObject (BPy_IDProperty *group, const bool reversed)
static PyObject * BPy_IDGroup_IterValues_CreatePyObject (BPy_IDProperty *group, const bool reversed)
static PyObject * BPy_IDGroup_IterItems_CreatePyObject (BPy_IDProperty *group, const bool reversed)
static PyObject * BPy_IDGroup_Iter_repr (BPy_IDGroup_Iter *self)
static void BPy_IDGroup_Iter_dealloc (BPy_IDGroup_Iter *self)
static int BPy_IDGroup_Iter_traverse (BPy_IDGroup_Iter *self, visitproc visit, void *arg)
static int BPy_IDGroup_Iter_clear (BPy_IDGroup_Iter *self)
static int BPy_IDGroup_Iter_is_gc (BPy_IDGroup_Iter *self)
static bool BPy_Group_Iter_same_size_or_raise_error (BPy_IDGroup_Iter *self)
static PyObject * BPy_Group_IterKeys_next (BPy_IDGroup_Iter *self)
static PyObject * BPy_Group_IterValues_next (BPy_IDGroup_Iter *self)
static PyObject * BPy_Group_IterItems_next (BPy_IDGroup_Iter *self)
static void IDGroup_Iter_init_type ()
static PyObject * IDGroup_Iter_New_WithType (BPy_IDProperty *group, const bool reversed, PyTypeObject *type)

ID-Property Group View Types (Keys/Values/Items)

This view types is a thin wrapper on keys/values/items, this matches Python's dict_view type. This is returned by property.keys() and is separate from the iterator that loops over keys.

There are some less common features this type could support (matching Python's dict_view)

TODO:

  • Efficient contains checks for values and items which currently convert to a list first.
  • Missing dict_views.isdisjoint.
  • Missing tp_as_number (nb_subtract, nb_and, nb_xor, nb_or).
static PySequenceMethods BPy_IDGroup_ViewKeys_as_sequence
static PySequenceMethods BPy_IDGroup_ViewValues_as_sequence
static PySequenceMethods BPy_IDGroup_ViewItems_as_sequence
static PyMethodDef BPy_IDGroup_View_methods []
PyTypeObject BPy_IDGroup_ViewKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
PyTypeObject BPy_IDGroup_ViewValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
PyTypeObject BPy_IDGroup_ViewItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
static PyObject * BPy_IDGroup_View_repr (BPy_IDGroup_View *self)
static void BPy_IDGroup_View_dealloc (BPy_IDGroup_View *self)
static int BPy_IDGroup_View_traverse (BPy_IDGroup_View *self, visitproc visit, void *arg)
static int BPy_IDGroup_View_clear (BPy_IDGroup_View *self)
static int BPy_IDGroup_View_is_gc (BPy_IDGroup_View *self)
static PyObject * BPy_Group_ViewKeys_iter (BPy_IDGroup_View *self)
static PyObject * BPy_Group_ViewValues_iter (BPy_IDGroup_View *self)
static PyObject * BPy_Group_ViewItems_iter (BPy_IDGroup_View *self)
static Py_ssize_t BPy_Group_View_len (BPy_IDGroup_View *self)
static int BPy_Group_ViewKeys_Contains (BPy_IDGroup_View *self, PyObject *value)
static int BPy_Group_ViewValues_Contains (BPy_IDGroup_View *self, PyObject *value)
static int BPy_Group_ViewItems_Contains (BPy_IDGroup_View *self, PyObject *value)
 PyDoc_STRVAR (BPy_IDGroup_View_reversed_doc, "Return a reverse iterator over the ID Property keys values or items.")
static PyObject * BPy_IDGroup_View_reversed (BPy_IDGroup_View *self, PyObject *)
static void IDGroup_View_init_type ()

ID-Property Group Methods

static PyMethodDef BPy_IDGroup_methods []
static int BPy_IDGroup_Contains (BPy_IDProperty *self, PyObject *value)
 PyDoc_STRVAR (BPy_IDGroup_pop_doc, ".. method:: pop(key, default)\n" "\n" " Remove an item from the group, returning a Python representation.\n" "\n" " :raises KeyError: When the item doesn't exist.\n" "\n" " :arg key: Name of item to remove.\n" " :type key: str\n" " :arg default: Value to return when key isn't found, otherwise raise an exception.\n" " :type default: Any\n")
static PyObject * BPy_IDGroup_pop (BPy_IDProperty *self, PyObject *args)
static void BPy_IDGroup_CorrectListLen (IDProperty *prop, PyObject *seq, int len, const char *func)
PyObject * BPy_Wrap_GetKeys (IDProperty *prop)
PyObject * BPy_Wrap_GetValues (ID *id, IDProperty *prop)
PyObject * BPy_Wrap_GetItems (ID *id, IDProperty *prop)
PyObject * BPy_Wrap_GetKeys_View_WithID (ID *id, IDProperty *prop)
PyObject * BPy_Wrap_GetValues_View_WithID (ID *id, IDProperty *prop)
PyObject * BPy_Wrap_GetItems_View_WithID (ID *id, IDProperty *prop)
 PyDoc_STRVAR (BPy_IDGroup_keys_doc, ".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n")
static PyObject * BPy_IDGroup_keys (BPy_IDProperty *self)
 PyDoc_STRVAR (BPy_IDGroup_values_doc, ".. method:: values()\n" "\n" " Return the values associated with this group.\n")
static PyObject * BPy_IDGroup_values (BPy_IDProperty *self)
 PyDoc_STRVAR (BPy_IDGroup_items_doc, ".. method:: items()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method items.\n")
static PyObject * BPy_IDGroup_items (BPy_IDProperty *self)
 PyDoc_STRVAR (BPy_IDGroup_update_doc, ".. method:: update(other)\n" "\n" " Update key, values.\n" "\n" " :arg other: Updates the values in the group with this.\n" " :type other: :class:`IDPropertyGroup` | dict[str, Any]\n")
static PyObject * BPy_IDGroup_update (BPy_IDProperty *self, PyObject *value)
 PyDoc_STRVAR (BPy_IDGroup_to_dict_doc, ".. method:: to_dict()\n" "\n" " Return a purely Python version of the group.\n")
static PyObject * BPy_IDGroup_to_dict (BPy_IDProperty *self)
 PyDoc_STRVAR (BPy_IDGroup_clear_doc, ".. method:: clear()\n" "\n" " Clear all members from this group.\n")
static PyObject * BPy_IDGroup_clear (BPy_IDProperty *self)
 PyDoc_STRVAR (BPy_IDGroup_get_doc, ".. method:: get(key, default=None)\n" "\n" " Return the value for key, if it exists, else default.\n")
static PyObject * BPy_IDGroup_get (BPy_IDProperty *self, PyObject *args)

ID Array Methods

static PyGetSetDef BPy_IDArray_getseters []
static PyMethodDef BPy_IDArray_methods []
static PySequenceMethods BPy_IDArray_Seq
static PyMappingMethods BPy_IDArray_AsMapping
static PyBufferProcs BPy_IDArray_Buffer
static PyTypeObject * idp_array_py_type (BPy_IDArray *self, size_t *elem_size)
static PyObject * BPy_IDArray_repr (BPy_IDArray *self)
 PyDoc_STRVAR (BPy_IDArray_get_typecode_doc, "The type of the data in the array {'f': float, 'd': double, 'i': int, 'b': bool}.")
static PyObject * BPy_IDArray_get_typecode (BPy_IDArray *self, void *)
 PyDoc_STRVAR (BPy_IDArray_to_list_doc, ".. method:: to_list()\n" "\n" " Return the array as a list.\n")
static PyObject * BPy_IDArray_to_list (BPy_IDArray *self)
static Py_ssize_t BPy_IDArray_Len (BPy_IDArray *self)
static PyObject * BPy_IDArray_GetItem (BPy_IDArray *self, Py_ssize_t index)
static int BPy_IDArray_SetItem (BPy_IDArray *self, Py_ssize_t index, PyObject *value)
static PyObject * BPy_IDArray_slice (BPy_IDArray *self, int begin, int end)
static int BPy_IDArray_ass_slice (BPy_IDArray *self, int begin, int end, PyObject *seq)
static PyObject * BPy_IDArray_subscript (BPy_IDArray *self, PyObject *item)
static int BPy_IDArray_ass_subscript (BPy_IDArray *self, PyObject *item, PyObject *value)
static int itemsize_by_idarray_type (int array_type)
static int BPy_IDArray_getbuffer (BPy_IDArray *self, Py_buffer *view, int flags)
static void BPy_IDArray_releasebuffer (BPy_IDArray *, Py_buffer *view)

Public Module 'idprop.types'

static PyModuleDef IDProp_types_module_def
static PyObject * BPyInit_idprop_types ()

Public Module 'idprop'

static PyMethodDef IDProp_methods []
static PyModuleDef IDProp_module_def
 PyDoc_STRVAR (IDProp_module_doc, "This module provides access id property types (currently mainly for docs).")
PyObject * BPyInit_idprop ()

Macro Definition Documentation

◆ SHARED_MEMBER_SET [1/2]

#define SHARED_MEMBER_SET ( member,
value )
Value:
{ \
k_ty->member = v_ty->member = i_ty->member = value; \
} \
((void)0)

◆ SHARED_MEMBER_SET [2/2]

#define SHARED_MEMBER_SET ( member,
value )
Value:
{ \
k_ty->member = v_ty->member = i_ty->member = value; \
} \
((void)0)

Referenced by IDGroup_Iter_init_type(), and IDGroup_View_init_type().

◆ USE_STRING_COERCE

#define USE_STRING_COERCE

Definition at line 26 of file idprop_py_api.cc.

Function Documentation

◆ BPy_Group_Iter_same_size_or_raise_error()

bool BPy_Group_Iter_same_size_or_raise_error ( BPy_IDGroup_Iter * self)
static

Definition at line 1340 of file idprop_py_api.cc.

References self.

Referenced by BPy_Group_IterItems_next(), BPy_Group_IterKeys_next(), and BPy_Group_IterValues_next().

◆ BPy_Group_IterItems_next()

PyObject * BPy_Group_IterItems_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_IterKeys_next()

PyObject * BPy_Group_IterKeys_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_IterValues_next()

PyObject * BPy_Group_IterValues_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_View_len()

Py_ssize_t BPy_Group_View_len ( BPy_IDGroup_View * self)
static

Definition at line 1542 of file idprop_py_api.cc.

References self.

◆ BPy_Group_ViewItems_Contains()

int BPy_Group_ViewItems_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1570 of file idprop_py_api.cc.

References Py_DECREF(), result, and self.

◆ BPy_Group_ViewItems_iter()

PyObject * BPy_Group_ViewItems_iter ( BPy_IDGroup_View * self)
static

Definition at line 1537 of file idprop_py_api.cc.

References BPy_IDGroup_IterItems_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_Group_ViewKeys_Contains()

int BPy_Group_ViewKeys_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1550 of file idprop_py_api.cc.

References BPy_IDGroup_Contains(), and self.

◆ BPy_Group_ViewKeys_iter()

PyObject * BPy_Group_ViewKeys_iter ( BPy_IDGroup_View * self)
static

Definition at line 1527 of file idprop_py_api.cc.

References BPy_IDGroup_IterKeys_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_Group_ViewValues_Contains()

int BPy_Group_ViewValues_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1558 of file idprop_py_api.cc.

References Py_DECREF(), result, and self.

◆ BPy_Group_ViewValues_iter()

PyObject * BPy_Group_ViewValues_iter ( BPy_IDGroup_View * self)
static

Definition at line 1532 of file idprop_py_api.cc.

References BPy_IDGroup_IterValues_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDArray_ass_slice()

int BPy_IDArray_ass_slice ( BPy_IDArray * self,
int begin,
int end,
PyObject * seq )
static

◆ BPy_IDArray_ass_subscript()

int BPy_IDArray_ass_subscript ( BPy_IDArray * self,
PyObject * item,
PyObject * value )
static

Definition at line 2405 of file idprop_py_api.cc.

References BPy_IDArray_ass_slice(), BPy_IDArray_SetItem(), i, self, and step.

◆ BPy_IDArray_get_typecode()

PyObject * BPy_IDArray_get_typecode ( BPy_IDArray * self,
void *  )
static

Definition at line 2127 of file idprop_py_api.cc.

References IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and self.

◆ BPy_IDArray_getbuffer()

int BPy_IDArray_getbuffer ( BPy_IDArray * self,
Py_buffer * view,
int flags )
static

◆ BPy_IDArray_GetItem()

PyObject * BPy_IDArray_GetItem ( BPy_IDArray * self,
Py_ssize_t index )
static

◆ BPy_IDArray_Len()

Py_ssize_t BPy_IDArray_Len ( BPy_IDArray * self)
static

Definition at line 2199 of file idprop_py_api.cc.

References self.

◆ BPy_IDArray_releasebuffer()

void BPy_IDArray_releasebuffer ( BPy_IDArray * ,
Py_buffer * view )
static

Definition at line 2482 of file idprop_py_api.cc.

References MEM_freeN(), and view.

◆ BPy_IDArray_repr()

PyObject * BPy_IDArray_repr ( BPy_IDArray * self)
static

Definition at line 2118 of file idprop_py_api.cc.

References self.

◆ BPy_IDArray_SetItem()

int BPy_IDArray_SetItem ( BPy_IDArray * self,
Py_ssize_t index,
PyObject * value )
static

◆ BPy_IDArray_slice()

PyObject * BPy_IDArray_slice ( BPy_IDArray * self,
int begin,
int end )
static

◆ BPy_IDArray_subscript()

PyObject * BPy_IDArray_subscript ( BPy_IDArray * self,
PyObject * item )
static

Definition at line 2367 of file idprop_py_api.cc.

References BPy_IDArray_GetItem(), BPy_IDArray_slice(), i, self, and step.

◆ BPy_IDArray_to_list()

PyObject * BPy_IDArray_to_list ( BPy_IDArray * self)
static

Definition at line 2171 of file idprop_py_api.cc.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_clear()

PyObject * BPy_IDGroup_clear ( BPy_IDProperty * self)
static

Definition at line 1948 of file idprop_py_api.cc.

References IDP_ClearProperty(), and self.

◆ BPy_IDGroup_Contains()

int BPy_IDGroup_Contains ( BPy_IDProperty * self,
PyObject * value )
static

Definition at line 1877 of file idprop_py_api.cc.

References IDP_GetPropertyFromGroup(), name, and self.

Referenced by BPy_Group_ViewKeys_Contains().

◆ BPy_IDGroup_CorrectListLen()

void BPy_IDGroup_CorrectListLen ( IDProperty * prop,
PyObject * seq,
int len,
const char * func )
static

Definition at line 1731 of file idprop_py_api.cc.

References IDProperty::len, len, and printf.

Referenced by BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), and BPy_Wrap_GetValues().

◆ BPy_IDGroup_get()

PyObject * BPy_IDGroup_get ( BPy_IDProperty * self,
PyObject * args )
static

Definition at line 1960 of file idprop_py_api.cc.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), and self.

◆ BPy_IDGroup_GetName()

PyObject * BPy_IDGroup_GetName ( BPy_IDProperty * self,
void *  )
static

Definition at line 254 of file idprop_py_api.cc.

References self.

◆ BPy_IDGroup_hash()

Py_hash_t BPy_IDGroup_hash ( BPy_IDProperty * self)
static

Definition at line 145 of file idprop_py_api.cc.

References Py_HashPointer, and self.

◆ BPy_IDGroup_items()

PyObject * BPy_IDGroup_items ( BPy_IDProperty * self)
static

Definition at line 1872 of file idprop_py_api.cc.

References BPy_IDGroup_ViewItems_CreatePyObject(), and self.

◆ BPy_IDGroup_iter()

PyObject * BPy_IDGroup_iter ( BPy_IDProperty * self)
static

Definition at line 1171 of file idprop_py_api.cc.

References BPy_IDGroup_ViewKeys_CreatePyObject(), Py_DECREF(), ret, and self.

◆ BPy_IDGroup_Iter_clear()

int BPy_IDGroup_Iter_clear ( BPy_IDGroup_Iter * self)
static

Definition at line 1329 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_dealloc()

void BPy_IDGroup_Iter_dealloc ( BPy_IDGroup_Iter * self)
static

Definition at line 1314 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_is_gc()

int BPy_IDGroup_Iter_is_gc ( BPy_IDGroup_Iter * self)
static

Definition at line 1335 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_repr()

PyObject * BPy_IDGroup_Iter_repr ( BPy_IDGroup_Iter * self)
static

Definition at line 1306 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_traverse()

int BPy_IDGroup_Iter_traverse ( BPy_IDGroup_Iter * self,
visitproc visit,
void * arg )
static

Definition at line 1323 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_IterItems_CreatePyObject()

PyObject * BPy_IDGroup_IterItems_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

Definition at line 1470 of file idprop_py_api.cc.

References BPy_IDGroup_IterItems_Type, and IDGroup_Iter_New_WithType().

Referenced by BPy_Group_ViewItems_iter().

◆ BPy_IDGroup_IterKeys_CreatePyObject()

PyObject * BPy_IDGroup_IterKeys_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

Definition at line 1460 of file idprop_py_api.cc.

References BPy_IDGroup_IterKeys_Type, and IDGroup_Iter_New_WithType().

Referenced by BPy_Group_ViewKeys_iter().

◆ BPy_IDGroup_IterValues_CreatePyObject()

PyObject * BPy_IDGroup_IterValues_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

◆ BPy_IDGroup_keys()

PyObject * BPy_IDGroup_keys ( BPy_IDProperty * self)
static

Definition at line 1850 of file idprop_py_api.cc.

References BPy_IDGroup_ViewKeys_CreatePyObject(), and self.

◆ BPy_IDGroup_Map_GetItem()

PyObject * BPy_IDGroup_Map_GetItem ( BPy_IDProperty * self,
PyObject * item )
static

Definition at line 315 of file idprop_py_api.cc.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), IDP_GROUP, name, and self.

◆ BPy_IDGroup_Map_Len()

Py_ssize_t BPy_IDGroup_Map_Len ( BPy_IDProperty * self)
static

Definition at line 305 of file idprop_py_api.cc.

References IDP_GROUP, and self.

◆ BPy_IDGroup_Map_SetItem()

int BPy_IDGroup_Map_SetItem ( BPy_IDProperty * self,
PyObject * key,
PyObject * val )
static

Definition at line 1166 of file idprop_py_api.cc.

References BPy_Wrap_SetMapItem(), and self.

Referenced by BPy_IDGroup_update().

◆ BPy_IDGroup_MapDataToPy()

◆ BPy_IDGroup_pop()

PyObject * BPy_IDGroup_pop ( BPy_IDProperty * self,
PyObject * args )
static

◆ BPy_IDGroup_repr()

PyObject * BPy_IDGroup_repr ( BPy_IDProperty * self)
static

Definition at line 150 of file idprop_py_api.cc.

References self.

◆ BPy_IDGroup_SetName()

int BPy_IDGroup_SetName ( BPy_IDProperty * self,
PyObject * value,
void *  )
static

Definition at line 259 of file idprop_py_api.cc.

References IDP_GetPropertyFromGroup(), MAX_IDPROP_NAME, name, self, and STREQ.

◆ BPy_IDGroup_to_dict()

PyObject * BPy_IDGroup_to_dict ( BPy_IDProperty * self)
static

Definition at line 1937 of file idprop_py_api.cc.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_update()

PyObject * BPy_IDGroup_update ( BPy_IDProperty * self,
PyObject * value )
static

◆ BPy_IDGroup_values()

PyObject * BPy_IDGroup_values ( BPy_IDProperty * self)
static

Definition at line 1861 of file idprop_py_api.cc.

References BPy_IDGroup_ViewValues_CreatePyObject(), and self.

◆ BPy_IDGroup_View_clear()

int BPy_IDGroup_View_clear ( BPy_IDGroup_View * self)
static

Definition at line 1514 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_dealloc()

void BPy_IDGroup_View_dealloc ( BPy_IDGroup_View * self)
static

Definition at line 1499 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_is_gc()

int BPy_IDGroup_View_is_gc ( BPy_IDGroup_View * self)
static

Definition at line 1520 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_repr()

PyObject * BPy_IDGroup_View_repr ( BPy_IDGroup_View * self)
static

Definition at line 1491 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_reversed()

PyObject * BPy_IDGroup_View_reversed ( BPy_IDGroup_View * self,
PyObject *  )
static

Definition at line 1621 of file idprop_py_api.cc.

References IDGroup_View_New_WithType(), result, and self.

◆ BPy_IDGroup_View_traverse()

int BPy_IDGroup_View_traverse ( BPy_IDGroup_View * self,
visitproc visit,
void * arg )
static

Definition at line 1508 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_CreatePyObject()

PyObject * BPy_IDGroup_ViewItems_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_ViewKeys_CreatePyObject()

PyObject * BPy_IDGroup_ViewKeys_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_ViewValues_CreatePyObject()

PyObject * BPy_IDGroup_ViewValues_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_WrapData()

◆ BPy_IDProperty_Map_ValidateAndCreate()

bool BPy_IDProperty_Map_ValidateAndCreate ( PyObject * key,
IDProperty * group,
PyObject * ob )
nodiscard

◆ BPy_Wrap_GetItems()

◆ BPy_Wrap_GetItems_View_WithID()

PyObject * BPy_Wrap_GetItems_View_WithID ( ID * id,
IDProperty * prop )
nodiscard

◆ BPy_Wrap_GetKeys()

◆ BPy_Wrap_GetKeys_View_WithID()

PyObject * BPy_Wrap_GetKeys_View_WithID ( ID * id,
IDProperty * prop )
nodiscard

◆ BPy_Wrap_GetValues()

◆ BPy_Wrap_GetValues_View_WithID()

PyObject * BPy_Wrap_GetValues_View_WithID ( ID * id,
IDProperty * prop )
nodiscard

◆ BPy_Wrap_SetMapItem()

int BPy_Wrap_SetMapItem ( IDProperty * prop,
PyObject * key,
PyObject * val )
nodiscard

◆ BPyInit_idprop()

PyObject * BPyInit_idprop ( )
nodiscard

Definition at line 2679 of file idprop_py_api.cc.

References BPyInit_idprop_types(), IDProp_module_def, and mod.

◆ BPyInit_idprop_types()

◆ IDGroup_Iter_init_type()

◆ IDGroup_Iter_New_WithType()

◆ IDGroup_View_init_type()

◆ IDGroup_View_New_WithType()

BPy_IDGroup_View * IDGroup_View_New_WithType ( BPy_IDProperty * group,
PyTypeObject * type )
static
Note
group may be nullptr, unlike most other uses of this argument. This is supported so RNA keys/values/items methods returns an iterator with the expected type:
  • Without having ID-properties.
  • Without supporting BPy_IDProperty.prop being nullptr, which would incur many more checks. Python's own dictionary-views also works this way too.

Definition at line 2581 of file idprop_py_api.cc.

References BLI_assert, BPy_IDGroup_View::group, IDP_GROUP, BPy_IDProperty::prop, BPy_IDGroup_View::reversed, and IDProperty::type.

Referenced by BPy_IDGroup_View_reversed(), BPy_IDGroup_ViewItems_CreatePyObject(), BPy_IDGroup_ViewKeys_CreatePyObject(), and BPy_IDGroup_ViewValues_CreatePyObject().

◆ idp_array_py_type()

PyTypeObject * idp_array_py_type ( BPy_IDArray * self,
size_t * elem_size )
static

Definition at line 2097 of file idprop_py_api.cc.

References float, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and self.

Referenced by BPy_IDArray_ass_slice().

◆ idp_array_type_from_formatstr_and_size()

int idp_array_type_from_formatstr_and_size ( const char * typestr,
Py_ssize_t itemsize )
static

◆ idp_format_from_array_type()

const char * idp_format_from_array_type ( int type)
static

Definition at line 658 of file idprop_py_api.cc.

References IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, and IDP_INT.

Referenced by BPy_IDArray_getbuffer().

◆ idp_from_DatablockPointer()

IDProperty * idp_from_DatablockPointer ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_from_PyBool()

IDProperty * idp_from_PyBool ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PyBytes()

IDProperty * idp_from_PyBytes ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_from_PyFloat()

IDProperty * idp_from_PyFloat ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

The idp_from_Py* functions expect that the input type has been checked before and return nullptr if the IDProperty can't be created.

Parameters
prop_existIf not null, attempt to assign given ob value to this property first, and only create a new one if not possible. If no assignment (or conversion and assignment) is possible, the current value remains unchanged.
do_conversionIf true, allow some 'reasonable' conversion of input value to match the prop_exist property type. E.g. can convert an int to a float, but not the other way around.
can_createWhether creating a new IDProperty is allowed.
Returns
prop_exist if given and it could be assigned given ob value, a new IDProperty otherwise.

Definition at line 442 of file idprop_py_api.cc.

References blender::bke::idprop::create(), IDP_ARRAY, IDP_BOOLEAN, IDP_DOUBLE, IDP_double_set, IDP_FLOAT, IDP_float_set, IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_INT, IDP_STRING, name, and IDProperty::type.

Referenced by idp_from_PyObject().

◆ idp_from_PyLong()

IDProperty * idp_from_PyLong ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PyMapping()

IDProperty * idp_from_PyMapping ( IDProperty * ,
const char * name,
PyObject * ob,
const bool ,
const bool  )
static

◆ idp_from_PyObject()

IDProperty * idp_from_PyObject ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PySequence()

IDProperty * idp_from_PySequence ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PySequence_Buffer()

IDProperty * idp_from_PySequence_Buffer ( IDProperty * prop_exist,
const char * name,
const Py_buffer & buffer,
const int idp_type,
const bool ,
const bool can_create )
static

◆ idp_from_PySequence_Fast()

◆ idp_from_PyUnicode()

IDProperty * idp_from_PyUnicode ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_sequence_type()

char idp_sequence_type ( PyObject * seq_fast)
static

Definition at line 344 of file idprop_py_api.cc.

References ELEM, i, IDP_BOOLEAN, IDP_DOUBLE, IDP_IDPARRAY, IDP_INT, and len.

Referenced by idp_from_PySequence_Fast().

◆ idp_try_read_name()

const char * idp_try_read_name ( PyObject * name_obj)
static

Definition at line 391 of file idprop_py_api.cc.

References MAX_IDPROP_NAME, and name.

Referenced by BPy_IDProperty_Map_ValidateAndCreate().

◆ IDProp_Init_Types()

◆ idprop_py_from_idp_array()

PyObject * idprop_py_from_idp_array ( ID * id,
IDProperty * prop )
static

Definition at line 103 of file idprop_py_api.cc.

References BPy_IDArray_Type.

Referenced by BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_bool()

PyObject * idprop_py_from_idp_bool ( const IDProperty * prop)
static

Definition at line 84 of file idprop_py_api.cc.

References IDP_bool_get.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_double()

PyObject * idprop_py_from_idp_double ( const IDProperty * prop)
static

Definition at line 79 of file idprop_py_api.cc.

References IDP_double_get.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_float()

PyObject * idprop_py_from_idp_float ( const IDProperty * prop)
static

Definition at line 74 of file idprop_py_api.cc.

References IDP_float_get.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_group()

◆ idprop_py_from_idp_id()

PyObject * idprop_py_from_idp_id ( IDProperty * prop)
static

◆ idprop_py_from_idp_idparray()

PyObject * idprop_py_from_idp_idparray ( ID * id,
IDProperty * prop )
static

◆ idprop_py_from_idp_int()

PyObject * idprop_py_from_idp_int ( const IDProperty * prop)
static

Definition at line 69 of file idprop_py_api.cc.

References IDP_int_get.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_string()

PyObject * idprop_py_from_idp_string ( const IDProperty * prop)
static

◆ itemsize_by_idarray_type()

int itemsize_by_idarray_type ( int array_type)
static

Definition at line 2443 of file idprop_py_api.cc.

References float, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, and IDP_INT.

Referenced by BPy_IDArray_getbuffer().

◆ PyDoc_STRVAR() [1/12]

PyDoc_STRVAR ( BPy_IDArray_get_typecode_doc ,
"The type of the data in the array {'f': float, 'd': double, 'i': int, 'b': bool}."  )

◆ PyDoc_STRVAR() [2/12]

PyDoc_STRVAR ( BPy_IDArray_to_list_doc ,
".. method:: to_list()\n" "\n" " Return the array as a list.\n"  )

◆ PyDoc_STRVAR() [3/12]

PyDoc_STRVAR ( BPy_IDGroup_clear_doc ,
".. method:: clear()\n" "\n" " Clear all members from this group.\n"  )

◆ PyDoc_STRVAR() [4/12]

PyDoc_STRVAR ( BPy_IDGroup_get_doc ,
".. method:: get(key, default=None)\n" "\n" " Return the value for key,
if it exists,
else default.\n"  )

◆ PyDoc_STRVAR() [5/12]

PyDoc_STRVAR ( BPy_IDGroup_items_doc ,
".. method:: items()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method items.\n"  )

◆ PyDoc_STRVAR() [6/12]

PyDoc_STRVAR ( BPy_IDGroup_keys_doc ,
".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n"  )

◆ PyDoc_STRVAR() [7/12]

PyDoc_STRVAR ( BPy_IDGroup_pop_doc ,
".. method:: pop(key, default)\n" "\n" " Remove an item from the group,
returning a Python representation.\n" "\n" " :raises KeyError:When the item doesn 't exist.\n" "\n" " :arg key:Name of item to remove.\n" " :type key:str\n" " :arg default:Value to return when key isn 't found,
otherwise raise an exception.\n" " :type default:Any\n"  )

◆ PyDoc_STRVAR() [8/12]

PyDoc_STRVAR ( BPy_IDGroup_to_dict_doc ,
".. method:: to_dict()\n" "\n" " Return a purely Python version of the group.\n"  )

◆ PyDoc_STRVAR() [9/12]

PyDoc_STRVAR ( BPy_IDGroup_update_doc ,
".. method:: update(other)\n" "\n" " Update key,
values.\n" "\n" " :arg other:Updates the values in the group with this.\n" " :type other::class:`IDPropertyGroup`|dict\n" [str, Any] )

◆ PyDoc_STRVAR() [10/12]

PyDoc_STRVAR ( BPy_IDGroup_values_doc ,
".. method:: values()\n" "\n" " Return the values associated with this group.\n"  )

◆ PyDoc_STRVAR() [11/12]

PyDoc_STRVAR ( BPy_IDGroup_View_reversed_doc ,
"Return a reverse iterator over the ID Property keys values or items."  )

◆ PyDoc_STRVAR() [12/12]

PyDoc_STRVAR ( IDProp_module_doc ,
"This module provides access id property types (currently mainly for docs)."  )

◆ pyrna_id_CheckPyObject()

bool pyrna_id_CheckPyObject ( PyObject * obj)
extern

Definition at line 8622 of file bpy_rna.cc.

References BPy_StructRNA_Check, ptr, and RNA_struct_is_ID().

Referenced by idp_from_PyObject().

◆ pyrna_id_CreatePyObject()

◆ pyrna_id_FromPyObject()

Variable Documentation

◆ BPy_IDArray_AsMapping

PyMappingMethods BPy_IDArray_AsMapping
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
(binaryfunc)BPy_IDArray_subscript,
(objobjargproc)BPy_IDArray_ass_subscript,
}
static int BPy_IDArray_ass_subscript(BPy_IDArray *self, PyObject *item, PyObject *value)
static PyObject * BPy_IDArray_subscript(BPy_IDArray *self, PyObject *item)
static Py_ssize_t BPy_IDArray_Len(BPy_IDArray *self)

Definition at line 2437 of file idprop_py_api.cc.

◆ BPy_IDArray_Buffer

PyBufferProcs BPy_IDArray_Buffer
static
Initial value:
= {
(getbufferproc)BPy_IDArray_getbuffer,
(releasebufferproc)BPy_IDArray_releasebuffer,
}
static void BPy_IDArray_releasebuffer(BPy_IDArray *, Py_buffer *view)
static int BPy_IDArray_getbuffer(BPy_IDArray *self, Py_buffer *view, int flags)

Definition at line 2487 of file idprop_py_api.cc.

◆ BPy_IDArray_getseters

PyGetSetDef BPy_IDArray_getseters[]
static
Initial value:
= {
{"typecode",
(setter) nullptr,
BPy_IDArray_get_typecode_doc,
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr},
}
static PyObject * BPy_IDArray_get_typecode(BPy_IDArray *self, void *)

Definition at line 2155 of file idprop_py_api.cc.

◆ BPy_IDArray_methods

PyMethodDef BPy_IDArray_methods[]
static
Initial value:
= {
{"to_list", (PyCFunction)BPy_IDArray_to_list, METH_NOARGS, BPy_IDArray_to_list_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * BPy_IDArray_to_list(BPy_IDArray *self)

Definition at line 2186 of file idprop_py_api.cc.

◆ BPy_IDArray_Seq

PySequenceMethods BPy_IDArray_Seq
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
nullptr,
nullptr,
(ssizeargfunc)BPy_IDArray_GetItem,
nullptr,
(ssizeobjargproc)BPy_IDArray_SetItem,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_IDArray_SetItem(BPy_IDArray *self, Py_ssize_t index, PyObject *value)
static PyObject * BPy_IDArray_GetItem(BPy_IDArray *self, Py_ssize_t index)

Definition at line 2274 of file idprop_py_api.cc.

◆ BPy_IDArray_Type

PyTypeObject BPy_IDArray_Type

◆ BPy_IDGroup_getseters

PyGetSetDef BPy_IDGroup_getseters[]
static
Initial value:
= {
{"name",
"The name of this Group.",
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr},
}
static PyObject * BPy_IDGroup_GetName(BPy_IDProperty *self, void *)
static int BPy_IDGroup_SetName(BPy_IDProperty *self, PyObject *value, void *)

Definition at line 296 of file idprop_py_api.cc.

◆ BPy_IDGroup_IterItems_Type

PyTypeObject BPy_IDGroup_IterItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_IterKeys_Type

PyTypeObject BPy_IDGroup_IterKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_IterValues_Type

PyTypeObject BPy_IDGroup_IterValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_Mapping

PyMappingMethods BPy_IDGroup_Mapping
static
Initial value:
= {
(objobjargproc)BPy_IDGroup_Map_SetItem,
}
static PyObject * BPy_IDGroup_Map_GetItem(BPy_IDProperty *self, PyObject *item)
static Py_ssize_t BPy_IDGroup_Map_Len(BPy_IDProperty *self)
static int BPy_IDGroup_Map_SetItem(BPy_IDProperty *self, PyObject *key, PyObject *val)

Definition at line 2032 of file idprop_py_api.cc.

◆ BPy_IDGroup_methods

PyMethodDef BPy_IDGroup_methods[]
static
Initial value:
= {
{"pop", (PyCFunction)BPy_IDGroup_pop, METH_VARARGS, BPy_IDGroup_pop_doc},
{"keys", (PyCFunction)BPy_IDGroup_keys, METH_NOARGS, BPy_IDGroup_keys_doc},
{"values", (PyCFunction)BPy_IDGroup_values, METH_NOARGS, BPy_IDGroup_values_doc},
{"items", (PyCFunction)BPy_IDGroup_items, METH_NOARGS, BPy_IDGroup_items_doc},
{"update", (PyCFunction)BPy_IDGroup_update, METH_O, BPy_IDGroup_update_doc},
{"get", (PyCFunction)BPy_IDGroup_get, METH_VARARGS, BPy_IDGroup_get_doc},
{"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS, BPy_IDGroup_to_dict_doc},
{"clear", (PyCFunction)BPy_IDGroup_clear, METH_NOARGS, BPy_IDGroup_clear_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * BPy_IDGroup_clear(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_keys(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_to_dict(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_pop(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_update(BPy_IDProperty *self, PyObject *value)
static PyObject * BPy_IDGroup_get(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_items(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_values(BPy_IDProperty *self)

Definition at line 1992 of file idprop_py_api.cc.

◆ BPy_IDGroup_Seq

PySequenceMethods BPy_IDGroup_Seq
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
(objobjproc)BPy_IDGroup_Contains,
nullptr,
nullptr,
}
static int BPy_IDGroup_Contains(BPy_IDProperty *self, PyObject *value)

Definition at line 2018 of file idprop_py_api.cc.

◆ BPy_IDGroup_Type

PyTypeObject BPy_IDGroup_Type

◆ BPy_IDGroup_View_methods

PyMethodDef BPy_IDGroup_View_methods[]
static
Initial value:
= {
{"__reversed__",
(PyCFunction)(void (*)())BPy_IDGroup_View_reversed,
METH_NOARGS,
BPy_IDGroup_View_reversed_doc},
{nullptr, nullptr},
}
static PyObject * BPy_IDGroup_View_reversed(BPy_IDGroup_View *self, PyObject *)

Definition at line 1628 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_as_sequence

PySequenceMethods BPy_IDGroup_ViewItems_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewItems_Contains(BPy_IDGroup_View *self, PyObject *value)
static Py_ssize_t BPy_Group_View_len(BPy_IDGroup_View *self)

Definition at line 1604 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_Type

PyTypeObject BPy_IDGroup_ViewItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_ViewKeys_as_sequence

PySequenceMethods BPy_IDGroup_ViewKeys_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewKeys_Contains(BPy_IDGroup_View *self, PyObject *value)

Definition at line 1582 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewKeys_Type

PyTypeObject BPy_IDGroup_ViewKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_ViewValues_as_sequence

PySequenceMethods BPy_IDGroup_ViewValues_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewValues_Contains(BPy_IDGroup_View *self, PyObject *value)

Definition at line 1593 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewValues_Type

PyTypeObject BPy_IDGroup_ViewValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ IDProp_methods

PyMethodDef IDProp_methods[]
static
Initial value:
= {
{nullptr, nullptr, 0, nullptr},
}

Definition at line 2659 of file idprop_py_api.cc.

◆ IDProp_module_def

PyModuleDef IDProp_module_def
static
Initial value:
= {
"idprop",
IDProp_module_doc,
0,
nullptr,
nullptr,
nullptr,
nullptr,
}
static PyMethodDef IDProp_methods[]

Definition at line 2667 of file idprop_py_api.cc.

Referenced by BPyInit_idprop().

◆ IDProp_types_module_def

PyModuleDef IDProp_types_module_def
static
Initial value:
= {
"idprop.types",
nullptr,
0,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}

Definition at line 2616 of file idprop_py_api.cc.

Referenced by BPyInit_idprop_types().