NEURON
nrn_pyhocobject.h
Go to the documentation of this file.
1
#pragma once
2
#include "
neuron/container/data_handle.hpp
"
3
#include "
nrnpython.h
"
4
5
struct
Object
;
6
struct
Symbol
;
7
struct
PyHocObject
{
8
PyObject_HEAD
9
Object
*
ho_
;
10
union
{
11
double
x_
;
12
char
*
s_
;
13
char
**
pstr_
;
14
Object
*
ho_
;
15
neuron::container::data_handle<double>
px_
;
16
PyHoc::IteratorState
its_
;
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
};
data_handle.hpp
PyHoc::IteratorState
IteratorState
Definition:
nrnpython.h:71
PyHoc::ObjectType
ObjectType
Definition:
nrnpython.h:57
nrnpython.h
Object
Definition:
hocdec.h:173
PyHocObject
Definition:
nrn_pyhocobject.h:7
PyHocObject::ho_
PyObject_HEAD Object * ho_
Definition:
nrn_pyhocobject.h:9
PyHocObject::iteritem_
void * iteritem_
Definition:
nrn_pyhocobject.h:19
PyHocObject::u
union PyHocObject::@37 u
PyHocObject::nindex_
int nindex_
Definition:
nrn_pyhocobject.h:20
PyHocObject::sym_
Symbol * sym_
Definition:
nrn_pyhocobject.h:18
PyHocObject::its_
PyHoc::IteratorState its_
Definition:
nrn_pyhocobject.h:16
PyHocObject::px_
neuron::container::data_handle< double > px_
Definition:
nrn_pyhocobject.h:15
PyHocObject::s_
char * s_
Definition:
nrn_pyhocobject.h:12
PyHocObject::x_
double x_
Definition:
nrn_pyhocobject.h:11
PyHocObject::pstr_
char ** pstr_
Definition:
nrn_pyhocobject.h:13
PyHocObject::ho_
Object * ho_
Definition:
nrn_pyhocobject.h:14
PyHocObject::indices_
int * indices_
Definition:
nrn_pyhocobject.h:21
PyHocObject::type_
PyHoc::ObjectType type_
Definition:
nrn_pyhocobject.h:22
Symbol
Definition:
model.h:47
neuron::container::data_handle< double >
src
nrnpython
nrn_pyhocobject.h