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
 
 else
 
 o = *hoc_objgetarg(1)
 
volatile_mark = 0
 
 sl = (List*) o->u.this_pointer
 
 i = 0
 
 return
 
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:88
#define NULL
Definition: sptree.h:16

Definition at line 12 of file seclist.cpp.

◆ relative

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

Definition at line 270 of file seclist.cpp.

Function Documentation

◆ allroots()

static double allroots ( void v)
static

Definition at line 131 of file seclist.cpp.

◆ append()

static double append ( void v)
static

Definition at line 59 of file seclist.cpp.

◆ check()

static void check ( Object ob)
static

Definition at line 273 of file seclist.cpp.

◆ check_obj_type()

check_obj_type ( o  ,
"SectionList"   
)

◆ children()

static double children ( void v)
static

Definition at line 80 of file seclist.cpp.

◆ children1()

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

Definition at line 69 of file seclist.cpp.

◆ class2oc()

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

Definition at line 1560 of file hoc_oop.cpp.

◆ constructor()

static void* constructor ( Object ho)
static

Definition at line 31 of file seclist.cpp.

◆ contains()

static double contains ( void v)
static

Definition at line 224 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 188 of file seclist.cpp.

◆ forall_sectionlist()

void forall_sectionlist ( void  )

Definition at line 282 of file seclist.cpp.

◆ hoc_ifseclist()

void hoc_ifseclist ( void  )

Definition at line 330 of file seclist.cpp.

◆ hoc_tobj_unref()

hoc_tobj_unref ( obp  )

◆ if()

if ( hoc_returning)

Definition at line 358 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 25 of file seclist.cpp.

◆ nrn_secarg()

Section* nrn_secarg ( int  i)

Definition at line 49 of file seclist.cpp.

◆ printnames()

static double printnames ( void v)
static

Definition at line 238 of file seclist.cpp.

◆ return() [1/2]

return ( 0.  )

◆ return() [2/2]

return ( double  )

◆ seclist_remove()

static double seclist_remove ( void v)
static

Definition at line 147 of file seclist.cpp.

◆ SectionList_reg()

void SectionList_reg ( void  )

Definition at line 265 of file seclist.cpp.

◆ subtree()

static double subtree ( void v)
static

Definition at line 108 of file seclist.cpp.

◆ subtree1()

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

Definition at line 89 of file seclist.cpp.

◆ unique()

static double unique ( void v)
static

Definition at line 201 of file seclist.cpp.

◆ wholetree()

static double wholetree ( void v)
static

Definition at line 117 of file seclist.cpp.

Variable Documentation

◆ else

else
Initial value:
{
o
Definition: seclist.cpp:175
Definition: hocdec.h:227

Definition at line 173 of file seclist.cpp.

◆ hoc_return_type_code

int hoc_return_type_code
extern

Definition at line 42 of file code.cpp.

◆ hoc_returning

int hoc_returning
extern

Definition at line 148 of file code.cpp.

◆ i

i = 0

Definition at line 187 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 subtree(void *v)
Definition: seclist.cpp:108
static double seclist_remove(void *v)
Definition: seclist.cpp:147
static double printnames(void *v)
Definition: seclist.cpp:238
static double allroots(void *v)
Definition: seclist.cpp:131
static double unique(void *v)
Definition: seclist.cpp:201
static double children(void *v)
Definition: seclist.cpp:80
static double contains(void *v)
Definition: seclist.cpp:224
static double wholetree(void *v)
Definition: seclist.cpp:117
static double append(void *v)
Definition: seclist.cpp:59

Definition at line 249 of file seclist.cpp.

◆ nrnpy_o2sec_p_

Section*(* nrnpy_o2sec_p_) (Object *o) ( Object o)

Definition at line 21 of file seclist.cpp.

◆ nrnpy_sectionlist_helper_

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

Definition at line 23 of file seclist.cpp.

◆ o

o = *hoc_objgetarg(1)

Definition at line 175 of file seclist.cpp.

◆ return

return

Definition at line 246 of file seclist.cpp.

◆ sl

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

Definition at line 181 of file seclist.cpp.

◆ volatile_mark

s volatile_mark = 0

Definition at line 179 of file seclist.cpp.