NEURON
nrn_pyhocobject.h
Go to the documentation of this file.
1 #pragma once
3 #include "nrnpython.h"
4 
5 struct Object;
6 struct Symbol;
7 struct PyHocObject {
8  PyObject_HEAD
10  union {
11  double x_;
12  char* s_;
13  char** pstr_;
17  } u;
18  Symbol* sym_; // for functions and arrays
19  void* iteritem_; // enough info to carry out Iterator protocol
20  int nindex_; // number indices seen so far (or narg)
21  int* indices_; // one fewer than nindex_
22  PyHoc::ObjectType type_; // 0 HocTopLevelInterpreter, 1 HocObject
23  // 2 function (or TEMPLATE)
24  // 3 array
25  // 4 reference to number
26  // 5 reference to string
27  // 6 reference to hoc object
28  // 7 forall section iterator
29  // 8 pointer to a hoc scalar
30  // 9 incomplete pointer to a hoc array (similar to 3)
31 };
IteratorState
Definition: nrnpython.h:71
ObjectType
Definition: nrnpython.h:57
Definition: hocdec.h:173
PyObject_HEAD Object * ho_
void * iteritem_
union PyHocObject::@37 u
Symbol * sym_
PyHoc::IteratorState its_
neuron::container::data_handle< double > px_
Object * ho_
PyHoc::ObjectType type_
Definition: model.h:47