PythonMonkey   v1.0.1 (dev)
Loading...
Searching...
No Matches
JSObjectValuesProxy.hh
Go to the documentation of this file.
1
11#ifndef PythonMonkey_JSObjectValuesProxy_
12#define PythonMonkey_JSObjectValuesProxy_
13
14#include <jsapi.h>
15
16#include <Python.h>
17#include "include/pyshim.hh"
18
19
24typedef struct {
25 _PyDictViewObject dv;
27
33public:
40
49 static int JSObjectValuesProxy_traverse(JSObjectValuesProxy *self, visitproc visit, void *arg);
50
58
65 static Py_ssize_t JSObjectValuesProxy_length(JSObjectValuesProxy *self);
66
74 static int JSObjectValuesProxy_contains(JSObjectValuesProxy *self, PyObject *key);
75
82 static PyObject *JSObjectValuesProxy_iter(JSObjectValuesProxy *self);
83
90 static PyObject *JSObjectValuesProxy_repr(JSObjectValuesProxy *self);
91
99
107 static PyObject *JSObjectValuesProxy_mapping(PyObject *self, void *Py_UNUSED(ignored));
108};
109
114static PySequenceMethods JSObjectValuesProxy_sequence_methods = {
117};
118
119PyDoc_STRVAR(reversed_values_doc,
120 "Return a reverse iterator over the dict values.");
121
126static PyMethodDef JSObjectValuesProxy_methods[] = {
127 {"__reversed__", (PyCFunction)JSObjectValuesProxyMethodDefinitions::JSObjectValuesProxy_iter_reverse, METH_NOARGS, reversed_values_doc},
128 {NULL, NULL} /* sentinel */
129};
130
131static PyGetSetDef JSObjectValuesProxy_getset[] = {
132 {"mapping", JSObjectValuesProxyMethodDefinitions::JSObjectValuesProxy_mapping, (setter)NULL, "dictionary that this view refers to", NULL},
133 {0}
134};
135
139extern PyTypeObject JSObjectValuesProxyType;
140
141#endif
PyTypeObject JSObjectValuesProxyType
Struct for the JSObjectValuesProxyType, used by all JSObjectValuesProxy objects.
Definition pythonmonkey.cc:265
PyDoc_STRVAR(reversed_values_doc, "Return a reverse iterator over the dict values.")
Python's C APIs are constantly changing in different versions of CPython. PythonMonkey has a wide var...
This struct is a bundle of methods used by the JSObjectValuesProxy type.
Definition JSObjectValuesProxy.hh:32
static void JSObjectValuesProxy_dealloc(JSObjectValuesProxy *self)
Deallocation method (.tp_dealloc), removes the reference to the underlying JSObject before freeing th...
Definition JSObjectValuesProxy.cc:27
static int JSObjectValuesProxy_clear(JSObjectValuesProxy *self)
.tp_clear method
Definition JSObjectValuesProxy.cc:55
static int JSObjectValuesProxy_traverse(JSObjectValuesProxy *self, visitproc visit, void *arg)
.tp_traverse method
Definition JSObjectValuesProxy.cc:50
static Py_ssize_t JSObjectValuesProxy_length(JSObjectValuesProxy *self)
Length method (.sq_length), returns the number of key-value pairs in the JSObject,...
Definition JSObjectValuesProxy.cc:34
static PyObject * JSObjectValuesProxy_mapping(PyObject *self, void *Py_UNUSED(ignored))
mapping method
Definition JSObjectValuesProxy.cc:150
static int JSObjectValuesProxy_contains(JSObjectValuesProxy *self, PyObject *key)
Test method (.sq_contains), returns whether a key exists, used by the in operator.
Definition JSObjectValuesProxy.cc:42
static PyObject * JSObjectValuesProxy_iter_reverse(JSObjectValuesProxy *self)
reverse iterator method
Definition JSObjectValuesProxy.cc:110
static PyObject * JSObjectValuesProxy_iter(JSObjectValuesProxy *self)
Return an iterator object to make JSObjectValuesProxy iterable, emitting (key, value) tuples.
Definition JSObjectValuesProxy.cc:91
static PyObject * JSObjectValuesProxy_repr(JSObjectValuesProxy *self)
Compute a string representation of the JSObjectValuesProxy.
Definition JSObjectValuesProxy.cc:129
The typedef for the backing store that will be used by JSObjectValuesProxy objects.
Definition JSObjectValuesProxy.hh:24
_PyDictViewObject dv
Definition JSObjectValuesProxy.hh:25