LMMS
Loading...
Searching...
No Matches
Alg_atoms Class Reference

#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_attributeatoms

Detailed Description

Alg_atoms is a symbol table of Alg_attributes 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 Attriubute 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: