19 #include "dcKeywordList.h"
46 bool read(istream &in,
const string &filename =
string());
48 bool write(
Filename filename,
bool brief)
const;
49 bool write(ostream &out,
bool brief)
const;
51 int get_num_classes()
const;
52 DCClass *get_class(
int n)
const;
53 DCClass *get_class_by_name(
const string &name)
const;
54 DCSwitch *get_switch_by_name(
const string &name)
const;
56 DCField *get_field_by_index(
int index_number)
const;
58 INLINE
bool all_objects_valid()
const;
60 int get_num_import_modules()
const;
61 string get_import_module(
int n)
const;
62 int get_num_import_symbols(
int n)
const;
63 string get_import_symbol(
int n,
int i)
const;
65 int get_num_typedefs()
const;
67 DCTypedef *get_typedef_by_name(
const string &name)
const;
69 int get_num_keywords()
const;
70 const DCKeyword *get_keyword(
int n)
const;
71 const DCKeyword *get_keyword_by_name(
const string &name)
const;
73 unsigned long get_hash()
const;
77 bool add_class(
DCClass *dclass);
79 void add_import_module(
const string &import_module);
80 void add_import_symbol(
const string &import_symbol);
82 bool add_keyword(
const string &name);
85 void set_new_index_number(
DCField *field);
86 INLINE
void check_inherited_fields();
87 INLINE
void mark_inherited_fields_stale();
90 void setup_default_keywords();
91 void rebuild_inherited_fields();
97 ThingsByName _things_by_name;
103 ImportSymbols _symbols;
113 TypedefsByName _typedefs_by_name;
119 Declarations _declarations;
120 Declarations _things_to_delete;
123 FieldsByIndex _fields_by_index;
125 bool _all_objects_valid;
126 bool _inherited_fields_stale;
This represents a single keyword declaration in the dc file.
This represents a single typedef declaration in the dc file.
This is our own Panda specialization on the default STL map.
This is a list of keywords (see DCKeyword) that may be set on a particular field. ...
A single field of a Distributed Class, either atomic or molecular.
This represents a switch statement, which can appear inside a class body and represents two or more a...
Defines a particular DistributedClass as read from an input .dc file.
Represents the complete list of Distributed Class descriptions as read from a .dc file...
This is our own Panda specialization on the default STL vector.
The name of a file, such as a texture file or an Egg file.
This is a common interface for a declaration in a DC file.
This class generates an arbitrary hash number from a sequence of ints.