|
lmms
Cross-platform music production software
|
Symbol table of Alg_attribute objects and other unique strings. More...
#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 Attribute not in table after moving attr to heap. | |
| void | expand () |
Private Attributes | |
| long | maxlen |
| long | len |
| Alg_attribute * | atoms |
Symbol table of Alg_attribute objects 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 Attribute 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 |