Public Types | |
typedef Foundry::Property::Base * | PropertyPtr |
typedef std::map< std::string, PropertyPtr, CompareKey > | data_t |
all the metadata contained in the bundle | |
typedef data_t::iterator | iterator |
iterator over all the metadata | |
typedef data_t::const_iterator | const_iterator |
iterator over all the metadata | |
Public Member Functions | |
Bundle () | |
create an empty bundle | |
Bundle (const MetaData::Bundle &otherBundle) | |
void | operator= (const MetaData::Bundle &otherBundle) |
bool | operator== (const MetaData::Bundle &otherBundle) const |
compare two bundles. Returns true if they are identical. | |
size_t | size () const |
how many metadata elements there are in this bundle | |
iterator | begin () |
get iterator to the first piece of metadata | |
iterator | end () |
get iterator pointing past the last piece of metadata | |
const_iterator | begin () const |
get iterator to the first piece of metadata | |
const_iterator | end () const |
get iterator pointing past the last piece of metadata | |
iterator | find (const char *key) |
find a particular piece of metadata by key. returns end() if not present. | |
iterator | find (const std::string &key) |
find a particular piece of metadata by key. returns end() if not present. | |
const_iterator | find (const char *key) const |
find a particular piece of metadata by key. returns end() if not present. | |
const_iterator | find (const std::string &key) const |
find a particular piece of metadata by key. returns end() if not present. | |
void | erase (iterator it) |
remove a particular piece of metadata, without deleting the object | |
void | erase (const char *key) |
remove a particular piece of metadata, without deleting the object | |
void | erase (const std::string &key) |
remove a particular piece of metadata, without deleting the object | |
const data_t & | meta () const |
return the underlying std::map for the metadata | |
PropertyPtr | getData (const char *key) const |
return the pointer to the named metadata element | |
PropertyPtr | getData (const std::string &key) const |
return the pointer to the named metadata element | |
double | getDouble (const char *key) const |
return the named metadata element as a double. this will convert strings to numbers. XXX: need to convert rationals as well. | |
unsigned char | getUnsignedChar (const char *key) const |
return the named metadata element as an unsigned int. this will convert strings to numbers. XXX: need to convert rationals as well. | |
std::string | getString (const char *key) const |
return the named metadata as a string. this involves converting ints and doubles to strings, and formatting arrays by inserting commas | |
void | setDataCopy (const std::string &key, const PropertyPtr &property) |
set the given key to point at a copy of the given object | |
void | setDataIfNotNan (const std::string &key, double number) |
set the given key to the given number, if and only if number is not NAN | |
void | setDataIfNotEmpty (const std::string &key, const std::string &data) |
set the given key to the given string, if and only if data is not empty | |
void | setData (const std::string &key, float data) |
set the given key to the given data | |
void | setData (const std::string &key, const float *data, unsigned count) |
set the given key to the given data | |
void | setData (const std::string &key, double data) |
set the given key to the given data | |
void | setData (const std::string &key, const double *data, unsigned count) |
set the given key to the given data | |
void | setData (const std::string &key, int data) |
set the given key to the given data | |
void | setData (const std::string &key, const int *data, unsigned count) |
set the given key to the given data | |
template<class T > | |
void | setData (const std::string &key, const std::vector< T > &data) |
set the given key to the given data | |
void | setData (const std::string &key, unsigned int data) |
set the given key to the given data | |
void | setData (const std::string &key, const std::string &data) |
set the given key to the given data | |
void | setData (const std::string &key, const char *data) |
set the given key to the given data | |
void | setTimeStamp (const std::string &key, const std::string ×tamp) |
Protected Member Functions | |
void | setData (const std::string &key, const PropertyPtr &property) |
a group of metadata, associated with keys to values. values consist of Doubles, Ints, or Strings, or arrays of same
typedef Foundry::Property::Base* DD::Image::MetaData::Bundle::PropertyPtr |
opaque data type for the metadata properties themselves. use helper functions isPropertyInt etc to access these
DD::Image::MetaData::Bundle::Bundle | ( | const MetaData::Bundle & | otherBundle | ) |
create a new bundle based upon other bundles. this will be a deep copy, all the properties will be copied as well.
void DD::Image::MetaData::Bundle::operator= | ( | const MetaData::Bundle & | otherBundle | ) |
assign this bundle based upon another bundle. this will be a deep copy, all the properties will be copied as well
void DD::Image::MetaData::Bundle::setData | ( | const std::string & | key, |
const PropertyPtr & | property | ||
) | [protected] |
set the given key to point at the given object, which the bundle now takes ownership of
Referenced by DD::Image::Read::_fetchMetaData(), and setDataIfNotNan().
void DD::Image::MetaData::Bundle::setTimeStamp | ( | const std::string & | key, |
const std::string & | timestamp | ||
) |
set the given key to the given, which is in the format of the timestamp this will reformat 'YYYY:MM:DD HH:MM:SS', 'YYYY:MM:DD:HH:MM:SS', and 'YYYY-MM-DD HH-MM:SS' as the ISO 8601-compliant 'YYYY-MM-DD HH:MM:SS'