Creates an empty table. * If size is zero the default size of 101 is used. Size must be a prime number. * Other common values are 67, 599 and 1499.
Destroys the table and all the attributes.
Copies the contents of the given table into this table.
Returns the number of elements in the table.
For each attribute calls the user callback. If the callback returns 0 the function returns.
Returns an attribute from the table. * Returns the attribute if found, NULL otherwise. * See also \ref imDataType.
Returns the attribute value at given index as an integer. * If not found or complex returns 0.
Returns the attribute value at given index as a real. * If not found or complex returns 0.
Returns the attribute value as a string. * If not found or not a zero terminated string returns 0.
Merges the contents of the given table into this table.
Removes all the attributes in the table
Inserts an attribute into the table. \n * If data_type is BYTE then count can be -1 to indicate a NULL terminated string. * Data is duplicated if not NULL, else data is initialized with zeros. * See also \ref imDataType.
Inserts a single integer attribute into the table.
Inserts a single real attribute into the table.
Inserts a string attribute into the table. * data_type=IM_BYTE and is zero terminated.
Removes an attribute from the table given its name.
\brief Attributes Table Class * * \par * All the attributes have a name, a type, a count and the data.\n * Names are usually strings with less that 30 chars. * \par * Attributes are stored in a hash table for fast access. \n * We use the hash function described in "The Practice of Programming" of Kernighan & Pike. * \ingroup util