InternalNameCollection

class InternalNameCollection

Inheritance diagram

Inheritance diagram of InternalNameCollection

InternalNameCollection(void)
InternalNameCollection(InternalNameCollection const &copy)
void add_name(InternalName const *name)

Adds a new InternalName to the collection.

void add_names_from(InternalNameCollection const &other)

Adds all the InternalNames indicated in the other collection to this name. The other names are simply appended to the end of the names in this list; duplicates are not automatically removed.

void clear(void)

Removes all InternalNames from the collection.

InternalName const *get_name(int index) const

Returns the nth InternalName in the collection.

int get_num_names(void) const

Returns the number of InternalNames in the collection.

bool has_name(InternalName const *name) const

Returns true if the indicated InternalName appears in this collection, false otherwise.

void output(std::ostream &out) const

Writes a brief one-line description of the InternalNameCollection to the indicated output stream.

void remove_duplicate_names(void)

Removes any duplicate entries of the same InternalNames on this collection. If a InternalName appears multiple times, the first appearance is retained; subsequent appearances are removed.

bool remove_name(InternalName const *name)

Removes the indicated InternalName from the collection. Returns true if the name was removed, false if it was not a member of the collection.

void remove_names_from(InternalNameCollection const &other)

Removes from this collection all of the InternalNames listed in the other collection.

int size(void) const

Returns the number of names in the collection. This is the same thing as get_num_names().

void write(std::ostream &out, int indent_level = 0) const

Writes a complete multi-line description of the InternalNameCollection to the indicated output stream.