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 {
16  return symbol_;
17  }
18  Object* object() const {
19  return ob_;
20  }
21  void no_object();
22  const String& name() const {
23  return name_;
24  }
25  bool is_directory() const;
26  int array_index() const {
27  return index_;
28  }
29  int whole_vector();
30 #if CABLE
31  int pysec_type_; /* PYSECOBJ (cell prefix) or PYSECNAME (Section) */
32  void* pysec_; /* Name2Section* or Section* */
33 #endif
34  private:
37  int index_;
40 };
41 
43 
44 #if CABLE
45 void nrn_symdir_load_pysec(SymbolList& sl, void*);
46 #endif
47 
48 #endif
short index
Definition: cabvars.h:10
Definition: string.h:34
int whole_vector()
Definition: symdir.cpp:416
CopyString name_
Definition: nrnsymdiritem.h:35
~SymbolItem()
Definition: symdir.cpp:438
Symbol * symbol_
Definition: nrnsymdiritem.h:36
Object * ob_
Definition: nrnsymdiritem.h:38
int whole_array_
Definition: nrnsymdiritem.h:39
bool is_directory() const
Definition: symdir.cpp:440
int array_index() const
Definition: nrnsymdiritem.h:26
SymbolItem(const char *, int whole_array=0)
Definition: symdir.cpp:379
Object * object() const
Definition: nrnsymdiritem.h:18
const String & name() const
Definition: nrnsymdiritem.h:22
void no_object()
Definition: symdir.cpp:433
Symbol * symbol() const
Definition: nrnsymdiritem.h:15
declarePtrList(SymbolList, SymbolItem)
void nrn_symdir_load_pysec(SymbolList &sl, void *v)
sl
Definition: seclist.cpp:181
Definition: hocdec.h:227
Definition: model.h:57