Brief description of class still missing. More...
#include <MetaDataMap.h>
Public Member Functions | |
| void | add (const MetaDataMap &o) |
| void | add (MetaData *d) |
| void | clear () |
| int | count () const |
| MetaData * | data (int id) |
| const MetaData * | data (int id) const |
| bool | hasData (int id) const |
| void | operator= (const MetaDataMap &o) |
| void | remove (int id) |
| void | reserve (int size) |
| const SortedVector< int, MetaData > & | vector () const |
| ~MetaDataMap () | |
Brief description of class still missing.
Full description of class still missing
| void GeopsyCore::MetaDataMap::add | ( | const MetaDataMap & | o | ) |
Adds metadata from another map.
References QGpCoreTools::SortedVector< Key, T >::at(), GeopsyCore::MetaData::clone(), count(), QGpCoreTools::SharedObject::referenceCount(), reserve(), and TRACE.
Referenced by operator=(), GeopsyCore::SignalDB::xml_member(), and GeopsyCore::Signal::xml_member().
| void GeopsyCore::MetaDataMap::add | ( | MetaData * | d | ) |
Add meta data d. It takes ownership of d.
References QGpCoreTools::SharedObject::addReference(), QGpCoreTools::SortedVector< int, MetaData >::contains(), GeopsyCore::MetaData::id(), QGpCoreTools::SortedVector< int, MetaData >::insert(), TRACE, and QGpCoreTools::XMLClass::xml_tagName().
| void GeopsyCore::MetaDataMap::clear | ( | ) |
Reimplemented from QGpCoreTools::SortedVector< int, MetaData >.
References QGpCoreTools::SortedVector< int, MetaData >::at(), count(), QGpCoreTools::SharedObject::removeReference(), and TRACE.
Referenced by GeopsyCore::SignalDB::clear(), operator=(), ~MetaDataMap(), and GeopsyCore::Signal::~Signal().
{
TRACE;
int n=count();
for(int i=0; i<n; i++) {
MetaData::removeReference(at(i));
}
SortedVector<int, MetaData>::clear();
}
| int GeopsyCore::MetaDataMap::count | ( | ) | const [inline] |
Reimplemented from QGpCoreTools::SortedVector< int, MetaData >.
Referenced by add(), clear(), GeopsyCore::Signal::xml_writeChildren(), GeopsyCore::SignalDB::xml_writeProperties(), and GeopsyCore::Signal::xml_writeProperties().
{return SortedVector<int, MetaData>::count();}
| MetaData * GeopsyCore::MetaDataMap::data | ( | int | id | ) |
Returns a pointer to meta data id. If it does exist for signal, creates a new instance.
References QGpCoreTools::SharedObject::addReference(), QGpCoreTools::SortedVector< int, MetaData >::at(), GeopsyCore::MetaDataFactory::create(), QGpCoreTools::SortedVector< int, MetaData >::indexOf(), QGpCoreTools::SortedVector< int, MetaData >::insert(), GeopsyCore::MetaDataFactory::instance(), and TRACE.
Referenced by GeopsyCore::Signal::xml_member(), and GeopsyCore::Signal::xml_setProperty().
| const MetaData * GeopsyCore::MetaDataMap::data | ( | int | id | ) | const |
Returns a pointer to meta data id. If it does exist for signal, returns the default instance.
References QGpCoreTools::SortedVector< int, MetaData >::at(), GeopsyCore::MetaDataFactory::create(), GeopsyCore::MetaData::defaultValue(), QGpCoreTools::SortedVector< int, MetaData >::indexOf(), GeopsyCore::MetaDataFactory::instance(), and TRACE.
{
TRACE;
int index=indexOf(id);
if(index>-1) {
return at(index);
} else {
MetaData * td=MetaDataFactory::instance()->create(id);
if(td) {
const MetaData * d=td->defaultValue();
delete td;
return d;
} else {
return 0;
}
}
}
| bool GeopsyCore::MetaDataMap::hasData | ( | int | id | ) | const [inline] |
Returns true if metadata with id exists.
{return indexOf(id)>-1;}
| void GeopsyCore::MetaDataMap::operator= | ( | const MetaDataMap & | o | ) |
| void GeopsyCore::MetaDataMap::remove | ( | int | id | ) |
Remove meta data with id. Meta data is deleted if it is not shared.
Reimplemented from QGpCoreTools::SortedVector< int, MetaData >.
References QGpCoreTools::SortedVector< int, MetaData >::at(), QGpCoreTools::SortedVector< int, MetaData >::indexOf(), QGpCoreTools::SharedObject::removeReference(), and TRACE.
{
TRACE;
int index=indexOf(id);
if(index>-1) {
MetaData * d=at(index);
remove(index);
MetaData::removeReference(d);
}
}
| void GeopsyCore::MetaDataMap::reserve | ( | int | size | ) | [inline] |
Reimplemented from QGpCoreTools::SortedVector< int, MetaData >.
Referenced by add().
{SortedVector<int, MetaData>::reserve(size);}
| const SortedVector<int, MetaData>& GeopsyCore::MetaDataMap::vector | ( | ) | const [inline] |
Reimplemented from QGpCoreTools::SortedVector< int, MetaData >.
Referenced by GeopsyCore::SharedMetaData::add(), GeopsyCore::Signal::xml_writeChildren(), GeopsyCore::SignalDB::xml_writeProperties(), and GeopsyCore::Signal::xml_writeProperties().
{return *this;}