|
LMMS
|
#include <allegro.h>
Public Member Functions | |
| Alg_atoms () | |
| virtual | ~Alg_atoms () |
| Alg_attribute | insert_attribute (Alg_attribute attr) |
| insert/lookup an atttribute | |
| Alg_attribute | insert_string (const char *name) |
| insert/lookup attribute by name (without prefixed type) | |
Private Member Functions | |
| Alg_attribute | insert_new (const char *name, char attr_type) |
| insert an Attriubute not in table after moving attr to heap | |
| void | expand () |
Private Attributes | |
| long | maxlen |
| long | len |
| Alg_attribute * | atoms |
Alg_atoms is a symbol table of Alg_attributes and other unique strings
|
inline |
|
inlinevirtual |
Note: the code is possibly more correct and faster without the following destructor, which will only run after the program takes a normal exit. Cleaning up after the program exit slows down the exit, and will cause problems if any other destructor tries to reference an Alg_atom (which will now be freed). The advantage of this code is that Alg_atoms will not be reported as memory leaks by automation that doesn't know better. -RBD
|
private |
| Alg_attribute Alg_atoms::insert_attribute | ( | Alg_attribute | attr | ) |
insert/lookup an atttribute
|
private |
insert an Attriubute not in table after moving attr to heap
| Alg_attribute Alg_atoms::insert_string | ( | const char * | name | ) |
insert/lookup attribute by name (without prefixed type)
|
private |
|
private |
|
private |