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 <map>
6 #include <OS/string.h>
7 
8 struct Object;
9 class SymDirectoryImpl;
10 struct Symbol;
11 
12 class IvocAliases {
13  public:
15  virtual ~IvocAliases();
16  Symbol* lookup(const char*);
17  Symbol* install(const char*);
18  void remove(Symbol*);
19  int count();
20  Symbol* symbol(int);
21 
22  Object* ob_; // not referenced
23  std::map<String, Symbol*> symtab_;
24 };
25 
26 /* List of Symbols considered as a directory */
27 
28 class SymDirectory: public Resource {
29  public:
30  SymDirectory(const String& parent_path,
31  Object* parent_object,
32  Symbol*,
33  int array_index = 0,
34  int node_index = 0);
36  SymDirectory(int type);
37  SymDirectory();
38  virtual ~SymDirectory();
39 
40  virtual const String& path() const;
41  virtual int count() const;
42  virtual const String& name(int index) const;
43  virtual int index(const String&) const;
44  virtual void whole_name(int index, CopyString&) const;
45  virtual bool is_directory(int index) const;
46  virtual double* variable(int index);
47  virtual int whole_vector(int index);
48 
49  static bool match(const String& name, const String& pattern);
50  Symbol* symbol(int index) const;
51  int array_index(int index) const;
52  Object* object() const; // the parent_object
53  Object* obj(int index); // non-NULL if SymbolItem is an object
54  virtual bool is_pysec(int index) const;
56 
57  private:
59 };
60 
61 #endif
short type
Definition: cabvars.h:9
Symbol * symbol(int)
Object * ob_
Definition: symdir.h:22
virtual ~IvocAliases()
Definition: strfun.cpp:363
Symbol * install(const char *)
Definition: strfun.cpp:380
void remove(Symbol *)
Definition: strfun.cpp:393
Symbol * lookup(const char *)
Definition: strfun.cpp:372
IvocAliases(Object *)
Definition: strfun.cpp:358
std::map< String, Symbol * > symtab_
Definition: symdir.h:23
Definition: string.h:34
virtual const String & path() const
Definition: symdir.cpp:331
virtual int count() const
Definition: symdir.cpp:334
Object * obj(int index)
Definition: symdir.cpp:374
int array_index(int index) const
Definition: symdir.cpp:340
virtual ~SymDirectory()
Definition: symdir.cpp:231
virtual double * variable(int index)
Definition: symdir.cpp:273
virtual bool is_pysec(int index) const
Definition: symdir.cpp:181
static bool match(const String &name, const String &pattern)
Definition: symdir.cpp:364
virtual int index(const String &) const
Definition: symdir.cpp:344
virtual int whole_vector(int index)
Definition: symdir.cpp:327
Symbol * symbol(int index) const
Definition: symdir.cpp:367
virtual void whole_name(int index, CopyString &) const
Definition: symdir.cpp:353
Object * object() const
Definition: symdir.cpp:370
SymDirectory * newsymdir(int index)
Definition: symdir.cpp:189
SymDirectoryImpl * impl_
Definition: symdir.h:58
virtual const String & name(int index) const
Definition: symdir.cpp:337
virtual bool is_directory(int index) const
Definition: symdir.cpp:361
int node_index(Section *, double)
Definition: cabcode.cpp:1471
static char * pattern
Definition: regexp.cpp:82
Definition: hocdec.h:227
Definition: model.h:57