1 #include <../../nrnconf.h>
49 class NrnSectionImpl {
60 NrnSectionImpl::~NrnSectionImpl() {
75 if (sym->
type == MECHANISM) {
85 Prop *
p, *p0 = 0, *p1;
91 for (; p0 !=
p; p0 = p1) {
160 if (src && dest && src != dest && src->
type == dest->
type) {
164 for (
i = 0;
i <
cnt; ++
i) {
168 n = sym->
u.
rng.index;
172 for (
j = 0;
j < jmax; ++
j) {
180 for (
int i = 0;
i <
n; ++
i) {
186 for (
i = 0;
i <
cnt; ++
i) {
190 n = sym->
u.
rng.index;
191 for (
j = 0;
j < jmax; ++
j) {
207 for (
i = 0;
i <
cnt; ++
i) {
217 if (s->
type != RANGEVAR) {
220 return s->
u.
rng.index;
271 npi_ =
new NrnSectionImpl(
sec);
273 NrnSection::~NrnSection() {
281 Section* NrnSection::section() {
287 bool NrnSection::is_mechanism(
type) {
291 double* NrnSection::var_pointer(
const char*
var) {
void nrn_pushsec(Section *sec)
Prop * nrn_mechanism(int type, Node *nd)
int prop_index(const Symbol *) const
Symbol * find(const char *rangevar)
int var_type(Symbol *) const
double * prop_pval(const Symbol *, int arrayindex=0) const
static bool assign(Prop *src, Prop *dest, int vartype=0)
const char * name() const
Symbol * hoc_table_lookup(const char *, Symlist *)
int nrn_vartype(Symbol *sym)
void hoc_execerror(const char *, const char *)
void hoc_push_frame(Symbol *, int)
size_t hoc_total_array_data(Symbol *s, Objectdata *obd)
double * hoc_val_pointer(const char *s)
void hoc_dec_refcount(Object **pobj)
double var(InputIterator begin, InputIterator end)
Symlist * hoc_top_level_symlist
Prop * prop_alloc(Prop **, int, Node *)
void single_prop_free(Prop *)
Symlist * hoc_built_in_symlist
static Node * node(Object *)
void section_ref(Section *)
void section_unref(Section *)
int const size_t const size_t n
check_obj_type(o, "SectionList")
HocStruct Symbol ** ppsym
struct Symbol::@37::@38 rng
HocStruct cTemplate * ctemplate