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;}