NEURON
symdir.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <InterViews/resource.h>
4 #include <map>
5 
6 struct Object;
7 class SymDirectoryImpl;
8 struct Symbol;
9 
10 class IvocAliases {
11  public:
13  virtual ~IvocAliases();
14  Symbol* lookup(const char*);
15  Symbol* install(const char*);
16  void remove(Symbol*);
17  int count();
18  Symbol* symbol(int);
19 
20  Object* ob_; // not referenced
21  std::map<std::string, Symbol*> symtab_;
22 };
23 
24 /* List of Symbols considered as a directory */
25 
26 class SymDirectory: public Resource {
27  public:
28  SymDirectory(const std::string& parent_path,
29  Object* parent_object,
30  Symbol*,
31  int array_index = 0,
32  int node_index = 0);
34  SymDirectory(int type);
35  SymDirectory();
36  virtual ~SymDirectory();
37 
38  virtual const std::string& path() const;
39  virtual int count() const;
40  virtual const std::string& name(int index) const;
41  virtual int index(const std::string&) const;
42  virtual void whole_name(int index, std::string&) const;
43  virtual bool is_directory(int index) const;
44  virtual double* variable(int index);
45  virtual int whole_vector(int index);
46 
47  static bool match(const std::string& name, const std::string& pattern);
48  Symbol* symbol(int index) const;
49  int array_index(int index) const;
50  Object* object() const; // the parent_object
51  Object* obj(int index); // non-NULL if SymbolItem is an object
52  virtual bool is_pysec(int index) const;
54 
55  private:
57 };
int node_index(Section *sec, double x)
returns nearest index to x
Definition: cabcode.cpp:1406
Symbol * symbol(int)
Object * ob_
Definition: symdir.h:20
virtual ~IvocAliases()
Definition: strfun.cpp:390
Symbol * install(const char *)
Definition: strfun.cpp:406
void remove(Symbol *)
Definition: strfun.cpp:418
Symbol * lookup(const char *)
Definition: strfun.cpp:399
IvocAliases(Object *)
Definition: strfun.cpp:385
std::map< std::string, Symbol * > symtab_
Definition: symdir.h:21
virtual int count() const
Definition: symdir.cpp:282
Object * obj(int index)
Definition: symdir.cpp:318
int array_index(int index) const
Definition: symdir.cpp:288
virtual ~SymDirectory()
Definition: symdir.cpp:184
virtual double * variable(int index)
Definition: symdir.cpp:224
virtual bool is_pysec(int index) const
Definition: symdir.cpp:144
virtual int whole_vector(int index)
Definition: symdir.cpp:275
virtual int index(const std::string &) const
Definition: symdir.cpp:292
static bool match(const std::string &name, const std::string &pattern)
Definition: symdir.cpp:308
Symbol * symbol(int index) const
Definition: symdir.cpp:311
virtual void whole_name(int index, std::string &) const
Definition: symdir.cpp:300
Object * object() const
Definition: symdir.cpp:314
SymDirectory * newsymdir(int index)
Definition: symdir.cpp:148
SymDirectoryImpl * impl_
Definition: symdir.h:56
virtual const std::string & name(int index) const
Definition: symdir.cpp:285
virtual const std::string & path() const
Definition: symdir.cpp:279
virtual bool is_directory(int index) const
Definition: symdir.cpp:305
short type
Definition: cabvars.h:10
Definition: hocdec.h:173
Definition: model.h:47