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);
34
SymDirectory
(
Object
*);
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
:
56
SymDirectoryImpl
*
impl_
;
57
};
58
59
#endif
type
short type
Definition:
cabvars.h:10
pattern
static char * pattern
Definition:
regexp.cpp:82
string.h
SymDirectoryImpl
Definition:
symdir.cpp:43
install
#define install
Definition:
redef.h:82
Resource
Definition:
resource.h:34
CopyString
Definition:
string.h:94
SymDirectory::impl_
SymDirectoryImpl * impl_
Definition:
symdir.h:56
SymDirectory
Definition:
symdir.h:30
resource.h
node_index
int node_index(Section *, double)
Definition:
cabcode.cpp:1470
Symbol
Definition:
model.h:57
name
char * name
Definition:
init.cpp:16
lookup
#define lookup
Definition:
redef.h:90
Object
Definition:
hocdec.h:226
table.h
declareTable
declareTable(SymbolTable, String, Symbol *) class IvocAliases
Definition:
symdir.h:12
String
Definition:
string.h:34
is_pysec
static PyObject * is_pysec(NPySecObj *self)
Definition:
nrnpy_nrn.cpp:863
index
short index
Definition:
cabvars.h:11
src
ivoc
symdir.h