lmms
Cross-platform music production software
Loading...
Searching...
No Matches
Alg_atoms Class Reference

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

Detailed Description

Symbol table of Alg_attribute objects and other unique strings.

Constructor & Destructor Documentation

◆ Alg_atoms()

Alg_atoms::Alg_atoms ( )
inline

◆ ~Alg_atoms()

virtual Alg_atoms::~Alg_atoms ( )
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

Member Function Documentation

◆ expand()

void Alg_atoms::expand ( )
private

◆ insert_attribute()

Alg_attribute Alg_atoms::insert_attribute ( Alg_attribute attr)

insert/lookup an atttribute

◆ insert_new()

Alg_attribute Alg_atoms::insert_new ( const char * name,
char attr_type )
private

Insert an Attribute not in table after moving attr to heap.

◆ insert_string()

Alg_attribute Alg_atoms::insert_string ( const char * name)

insert/lookup attribute by name (without prefixed type)

Member Data Documentation

◆ atoms

Alg_attribute* Alg_atoms::atoms
private

◆ len

long Alg_atoms::len
private

◆ maxlen

long Alg_atoms::maxlen
private

The documentation for this class was generated from the following files: