1 #include <../../nrnconf.h>
3 #include <nrnpython_config.h>
12 #define ITERATE_REMOVE(q1, q2, lst) \
13 for (q1 = (lst)->next; q1 != (lst); q1 = q2) { \
15 if (q1->element.sec->prop == NULL) { \
62 hoc_execerror(
"Too many parameters. SectionList.append takes 0 or 1 arguments", (
char*) 0);
138 if (!
sec->parentsec) {
165 if (
sec ==
q->element.sec) {
212 for (
q =
sl->next;
q !=
sl;
q = q1) {
242 if (
q->element.sec->prop) {
260 int (*checkpoint)(
void**),
270 #define relative(pc) (pc + (pc)->i)
278 hoc_execerror(ob->ctemplate->sym->name,
" is not a SectionList");
301 for (
q =
sl->next;
q !=
sl;
q = q1) {
303 sec =
q->element.sec;
348 if (
sec ==
q->element.sec) {
const char * secname(Section *sec)
void nrn_pushsec(Section *sec)
void forall_section(void)
Section * chk_access(void)
void hoc_execerror(const char *, const char *)
static void destruct(void *v)
static void * cons(Object *o)
void hoc_warning(const char *, const char *)
Object ** hoc_objgetarg(int)
#define ITERATE(itm, lst)
void freelist(List **plist)
void section_ref(Section *)
void section_unref(Section *)
Symbol * nrnpy_pyobj_sym_
Item * lappendsec(List *list, Section *sec)
void forall_sectionlist(void)
static double subtree(void *v)
static double seclist_remove(void *v)
static double printnames(void *v)
static double allroots(void *v)
#define ITERATE_REMOVE(q1, q2, lst)
static Member_func members[]
check_obj_type(o, "SectionList")
Section *(* nrnpy_o2sec_p_)(Object *o)
static double unique(void *v)
static double children(void *v)
static void * constructor(Object *ho)
static void destructor(void *v)
void(* nrnpy_sectionlist_helper_)(List *, Object *)=0
void lvappendsec_and_ref(void *sl, Section *sec)
static Item * subtree1(List *sl, Section *sec)
static double contains(void *v)
static Item * children1(List *sl, Section *sec)
static void check(Object *ob)
void class2oc(const char *, void *(*cons)(Object *), void(*destruct)(void *), Member_func *, int(*checkpoint)(void **), Member_ret_obj_func *, Member_ret_str_func *)
void SectionList_reg(void)
static double wholetree(void *v)
static double append(void *v)
Section * nrn_secarg(int i)
struct Section * parentsec