NEURON
symdir.h
Go to the documentation of this file.
1 #ifndef symdir_h
2 #define symdir_h
3 
4 #include <InterViews/resource.h>
5 #include <OS/table.h>
6 #include <OS/string.h>
7 
8 struct Object;
9 class SymDirectoryImpl;
10 struct Symbol;
11 
12 declareTable(SymbolTable, String, Symbol*)
13 
14 class IvocAliases {
15 public:
16  IvocAliases(Object*);
17  virtual ~IvocAliases();
18  Symbol* lookup(const char*);
19  Symbol* install(const char*);
20  void remove(Symbol*);
21  int count();
22  Symbol* symbol(int);
23 
24  Object* ob_; // not referenced
25  SymbolTable* symtab_;
26 };
27 
28 /* List of Symbols considered as a directory */
29 
30 class SymDirectory : public Resource {
31 public:
32  SymDirectory(const String& parent_path, Object* parent_object,
33  Symbol*, int array_index=0, int node_index=0);
35  SymDirectory(int type);
36  SymDirectory();
37  virtual ~SymDirectory();
38 
39  virtual const String& path() const;
40  virtual int count() const;
41  virtual const String& name(int index) const;
42  virtual int index(const String&) const;
43  virtual void whole_name(int index, CopyString&) const;
44  virtual bool is_directory(int index) const;
45  virtual double* variable(int index);
46  virtual int whole_vector(int index);
47 
48  static bool match(const String& name, const String& pattern);
49  Symbol* symbol(int index) const;
50  int array_index(int index) const;
51  Object* object() const; // the parent_object
52  Object* obj(int index); // non-NULL if SymbolItem is an object
53  virtual bool is_pysec(int index) const;
54  SymDirectory* newsymdir(int index);
55 private:
57 };
58 
59 #endif
short type
Definition: cabvars.h:10
static char * pattern
Definition: regexp.cpp:82
#define install
Definition: redef.h:82
SymDirectoryImpl * impl_
Definition: symdir.h:56
int node_index(Section *, double)
Definition: cabcode.cpp:1470
Definition: model.h:57
char * name
Definition: init.cpp:16
#define lookup
Definition: redef.h:90
Definition: hocdec.h:226
declareTable(SymbolTable, String, Symbol *) class IvocAliases
Definition: symdir.h:12
Definition: string.h:34
static PyObject * is_pysec(NPySecObj *self)
Definition: nrnpy_nrn.cpp:863
short index
Definition: cabvars.h:11