File: dict.h

package info (click to toggle)
python-multidict 6.4.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 896 kB
  • sloc: ansic: 6,634; python: 4,399; makefile: 227
file content (37 lines) | stat: -rw-r--r-- 555 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _MULTIDICT_C_H
#define _MULTIDICT_C_H

#ifdef __cplusplus
extern "C" {
#endif

#include "pythoncapi_compat.h"
#include "pair_list.h"

#if PY_VERSION_HEX >= 0x030c00f0
#define MANAGED_WEAKREFS
#endif


typedef struct {  // 16 or 24 for GC prefix
    PyObject_HEAD  // 16
#ifndef MANAGED_WEAKREFS
    PyObject *weaklist;
#endif
    pair_list_t pairs;
} MultiDictObject;

typedef struct {
    PyObject_HEAD
#ifndef MANAGED_WEAKREFS
    PyObject *weaklist;
#endif
    MultiDictObject *md;
} MultiDictProxyObject;


#ifdef __cplusplus
}
#endif

#endif