NEURON
nrnsymdiritem.h
Go to the documentation of this file.
1 #ifndef nrnsymdiritem_h
2 #define nrnsymdiritem_h
3 
4 // allow communication between src/ivoc/symdir.cpp and src/nrniv/pysecname.cpp
5 
6 #include <OS/list.h>
7 #include <OS/string.h>
8 
9 class SymbolItem {
10 public:
11  SymbolItem(const char*, int whole_array = 0);
12  SymbolItem(Symbol*, Objectdata*, int index = 0, int whole_array=0);
14  ~SymbolItem();
15  Symbol* symbol() const {return symbol_;}
16  Object* object() const {return ob_;}
17  void no_object();
18  const String& name() const { return name_;}
19  bool is_directory() const;
20  int array_index() const { return index_;}
21  int whole_vector();
22 #if CABLE
23  int pysec_type_; /* PYSECOBJ (cell prefix) or PYSECNAME (Section) */
24  void* pysec_; /* Name2Section* or Section* */
25 #endif
26 private:
29  int index_;
32 };
33 
34 declarePtrList(SymbolList, SymbolItem);
35 
36 #if CABLE
37  void nrn_symdir_load_pysec(SymbolList& sl, void*);
38 #endif
39 
40 #endif
declarePtrList(SymbolList, SymbolItem)
int array_index() const
Definition: nrnsymdiritem.h:20
const String & name() const
Definition: nrnsymdiritem.h:18
int whole_vector()
Definition: symdir.cpp:409
Object * object() const
Definition: nrnsymdiritem.h:16
void no_object()
Definition: symdir.cpp:426
sl
Definition: seclist.cpp:186
~SymbolItem()
Definition: symdir.cpp:431
Definition: model.h:57
void nrn_symdir_load_pysec(SymbolList &sl, void *v)
bool is_directory() const
Definition: symdir.cpp:433
Object * ob_
Definition: nrnsymdiritem.h:30
SymbolItem(const char *, int whole_array=0)
Definition: symdir.cpp:372
Definition: hocdec.h:226
Symbol * symbol() const
Definition: nrnsymdiritem.h:15
Definition: string.h:34
int whole_array_
Definition: nrnsymdiritem.h:31
Symbol * symbol_
Definition: nrnsymdiritem.h:28
short index
Definition: cabvars.h:11
CopyString name_
Definition: nrnsymdiritem.h:27