NEURON
seclist.cpp File Reference
#include <../../nrnconf.h>
#include <nrnpython_config.h>
#include "section.h"
#include "neuron.h"
#include "parse.hpp"
#include "hocparse.h"
#include "code.h"
#include "hoc_membf.h"

Go to the source code of this file.

Macros

#define HOC_L_LIST   1
 
#define ITERATE_REMOVE(q1, q2, lst)
 
#define relative(pc)   (pc + (pc)->i)
 

Functions

void lvappendsec_and_ref (void *sl, Section *sec)
 
static voidconstructor (Object *ho)
 
static void destructor (void *v)
 
Sectionnrn_secarg (int i)
 
static double append (void *v)
 
static Itemchildren1 (List *sl, Section *sec)
 
static double children (void *v)
 
static Itemsubtree1 (List *sl, Section *sec)
 
static double subtree (void *v)
 
static double wholetree (void *v)
 
static double allroots (void *v)
 
static double seclist_remove (void *v)
 
 check_obj_type (o, "SectionList")
 
 ITERATE_REMOVE (q, q1, sl) s = hocSEC(q)
 
 for (q=sl->next;q !=sl;q=q1)
 
 return (double) i
 
static double unique (void *v)
 
static double contains (void *v)
 
 return (0.)
 
static double printnames (void *v)
 
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 void check (Object *ob)
 
void forall_sectionlist (void)
 
void hoc_ifseclist (void)
 
 hoc_tobj_unref (obp)
 
 if (!hoc_returning)
 

Variables

int hoc_return_type_code
 
Section *(* nrnpy_o2sec_p_ )(Object *o)
 
void(* nrnpy_sectionlist_helper_ )(List *, Object *)=0
 
 return
 
 else
 
 o = *hoc_objgetarg(1)
 
s volatile_mark = 0
 
 sl = (List*)o->u.this_pointer
 
 i = 0
 
static Member_func members []
 
int hoc_returning
 

Macro Definition Documentation

◆ HOC_L_LIST

#define HOC_L_LIST   1

Definition at line 2 of file seclist.cpp.

◆ ITERATE_REMOVE

#define ITERATE_REMOVE (   q1,
  q2,
  lst 
)
Value:
for (q1 = (lst)->next; q1 != (lst); q1 = q2){ \
q2 = q1->next; \
if (q1->element.sec->prop == NULL) { \
hoc_l_delete(q1); \
continue; \
}
Item * next(Item *item)
Definition: list.cpp:95
return NULL
Definition: cabcode.cpp:461

Definition at line 12 of file seclist.cpp.

◆ relative

#define relative (   pc)    (pc + (pc)->i)

Definition at line 285 of file seclist.cpp.

Function Documentation

◆ allroots()

static double allroots ( void v)
static

Definition at line 137 of file seclist.cpp.

◆ append()

static double append ( void v)
static

Definition at line 60 of file seclist.cpp.

◆ check()

static void check ( Object ob)
static

Definition at line 288 of file seclist.cpp.

◆ check_obj_type()

check_obj_type ( o  ,
"SectionList"   
)

◆ children()

static double children ( void v)
static

Definition at line 83 of file seclist.cpp.

◆ children1()

static Item* children1 ( List sl,
Section sec 
)
static

Definition at line 71 of file seclist.cpp.

◆ class2oc()

void class2oc ( const char *  ,
void *(*)(Object *)  cons,
void(*)(void *)  destruct,
Member_func ,
int(*)(void **)  checkpoint,
Member_ret_obj_func ,
Member_ret_str_func  
)

Definition at line 1581 of file hoc_oop.cpp.

◆ constructor()

static void* constructor ( Object ho)
static

Definition at line 30 of file seclist.cpp.

◆ contains()

static double contains ( void v)
static

Definition at line 230 of file seclist.cpp.

◆ destructor()

static void destructor ( void v)
static

Definition at line 40 of file seclist.cpp.

◆ for()

for ( q  = sl->nextq != slq = q1)

Definition at line 193 of file seclist.cpp.

◆ forall_sectionlist()

void forall_sectionlist ( void  )

Definition at line 297 of file seclist.cpp.

◆ hoc_ifseclist()

void hoc_ifseclist ( void  )

Definition at line 343 of file seclist.cpp.

◆ hoc_tobj_unref()

hoc_tobj_unref ( obp  )

◆ if()

if ( hoc_returning)

Definition at line 371 of file seclist.cpp.

◆ ITERATE_REMOVE()

ITERATE_REMOVE ( q  ,
q1  ,
sl   
) = hocSEC(q)

◆ lvappendsec_and_ref()

void lvappendsec_and_ref ( void sl,
Section sec 
)

Definition at line 24 of file seclist.cpp.

◆ nrn_secarg()

Section* nrn_secarg ( int  i)

Definition at line 50 of file seclist.cpp.

◆ printnames()

static double printnames ( void v)
static

Definition at line 245 of file seclist.cpp.

◆ return() [1/2]

return ( double  )

◆ return() [2/2]

return ( 0.  )

◆ seclist_remove()

static double seclist_remove ( void v)
static

Definition at line 152 of file seclist.cpp.

◆ SectionList_reg()

void SectionList_reg ( void  )

Definition at line 280 of file seclist.cpp.

◆ subtree()

static double subtree ( void v)
static

Definition at line 113 of file seclist.cpp.

◆ subtree1()

static Item* subtree1 ( List sl,
Section sec 
)
static

Definition at line 93 of file seclist.cpp.

◆ unique()

static double unique ( void v)
static

Definition at line 206 of file seclist.cpp.

◆ wholetree()

static double wholetree ( void v)
static

Definition at line 123 of file seclist.cpp.

Variable Documentation

◆ else

else
Initial value:
{
o
Definition: seclist.cpp:180
Definition: hocdec.h:226

Definition at line 178 of file seclist.cpp.

◆ hoc_return_type_code

int hoc_return_type_code

Definition at line 41 of file code.cpp.

◆ hoc_returning

int hoc_returning

Definition at line 141 of file code.cpp.

◆ i

i = 0

Definition at line 192 of file seclist.cpp.

◆ members

Member_func members[]
static
Initial value:
= {
"append", append,
"remove", seclist_remove,
"wholetree", wholetree,
"subtree", subtree,
"children", children,
"unique", unique,
"printnames", printnames,
"contains", contains,
"allroots", allroots,
0,0
}
static double children(void *v)
Definition: seclist.cpp:83
static double contains(void *v)
Definition: seclist.cpp:230
static double seclist_remove(void *v)
Definition: seclist.cpp:152
static double subtree(void *v)
Definition: seclist.cpp:113
static double wholetree(void *v)
Definition: seclist.cpp:123
static double printnames(void *v)
Definition: seclist.cpp:245
static double allroots(void *v)
Definition: seclist.cpp:137
static double unique(void *v)
Definition: seclist.cpp:206
static double append(void *v)
Definition: seclist.cpp:60

Definition at line 257 of file seclist.cpp.

◆ nrnpy_o2sec_p_

Section*(* nrnpy_o2sec_p_) (Object *o)

Definition at line 20 of file seclist.cpp.

◆ nrnpy_sectionlist_helper_

void(* nrnpy_sectionlist_helper_) (List *, Object *)=0

Definition at line 22 of file seclist.cpp.

◆ o

o = *hoc_objgetarg(1)

Definition at line 180 of file seclist.cpp.

◆ return

return

Definition at line 149 of file seclist.cpp.

◆ sl

sl = (List*)o->u.this_pointer

Definition at line 186 of file seclist.cpp.

◆ volatile_mark

s volatile_mark = 0

Definition at line 184 of file seclist.cpp.