27 #include "../common/STLUtils.h" 28 #include "../core/translator/Translator.h" 40 return add(
dt.getName(),
dt.getDescription());
45 int id = sm_lastId + 1;
47 std::unique_ptr<DataType>
dt(
new DataType(
id, name, description));
49 if(m_types.find(dt.get()) != m_types.end())
50 throw Exception(
TE_TR(
"There is already a data type with the given id!"));
52 if(m_nameIdx.find(dt.get()) != m_nameIdx.end())
53 throw Exception(
TE_TR(
"There is already a data type with the given name!"));
55 m_types.insert(dt.get());
56 m_nameIdx.insert(dt.get());
67 std::set<DataType*, IdComparer>::iterator it =
m_types.find((
DataType*)dt);
73 std::set<DataType*, NameComparer>::iterator it2 =
m_nameIdx.find(odt);
86 std::set<DataType*, IdComparer>::const_iterator it =
m_types.find(&dummy);
99 std::set<DataType*, NameComparer>::const_iterator it =
m_nameIdx.find(&dummy);
It stores information about a data type.
void remove(const DataType *dt)
It removes the data type.
std::set< DataType *, NameComparer > m_nameIdx
The set of data types ordered by name.
Base exception class for plugin module.
#define TE_TR(message)
It marks a string in order to get translated.
DataTypeManager()
Constructor for singletons is protected.
It stores information about a data type.
static te::dt::TimeDuration dt(20, 30, 50, 11)
std::set< DataType *, IdComparer > m_types
The set of data types ordered by id.
static int sm_lastId
The id value of the last inserted data type.
const DataType * find(int id) const
It finds a data type having the given id.
A singleton for managing all data types in the system.
~DataTypeManager()
Destructor for singletons is protected.
int add(const DataType &dt)
It adds a new data type to the system.
void FreeContents(boost::unordered_map< K, V * > &m)
This function can be applied to a map of pointers. It will delete each pointer in the map...
An exception class for the DataType module.