Container that maps names (strings) to values of arbitrary types. More...
#include <openvdb/MetaMap.h>
 
  
| Public Types | |
| using | Ptr = SharedPtr<MetaMap> | 
| using | ConstPtr = SharedPtr<const MetaMap> | 
| using | MetadataMap = std::map<Name, Metadata::Ptr> | 
| using | MetaIterator = MetadataMap::iterator | 
| using | ConstMetaIterator = MetadataMap::const_iterator | 
| Public Member Functions | |
| MetaMap () | |
| MetaMap (const MetaMap &other) | |
| virtual | ~MetaMap () | 
| MetaMap::Ptr | copyMeta () const | 
| Return a copy of this map whose fields are shared with this map. | |
| MetaMap::Ptr | deepCopyMeta () const | 
| Return a deep copy of this map that shares no data with this map. | |
| MetaMap & | operator= (const MetaMap &) | 
| Assign a deep copy of another map to this map. | |
| void | readMeta (std::istream &) | 
| Unserialize metadata from the given stream. | |
| void | writeMeta (std::ostream &) const | 
| Serialize metadata to the given stream. | |
| void | insertMeta (const Name &, const Metadata &value) | 
| Insert a new metadata field or overwrite the value of an existing field. | |
| void | insertMeta (const MetaMap &) | 
| Deep copy all of the metadata fields from the given map into this map. | |
| void | removeMeta (const Name &) | 
| Remove the given metadata field if it exists. | |
| Metadata::Ptr | operator[] (const Name &) | 
| Return a pointer to the metadata with the given name. If no such field exists, return a null pointer. | |
| Metadata::ConstPtr | operator[] (const Name &) const | 
| template<typename T> | |
| T::Ptr | getMetadata (const Name &) | 
| Return a pointer to a TypedMetadata object of type Tand with the given name. If no such field exists or if there is a type mismatch, return a null pointer. | |
| template<typename T> | |
| T::ConstPtr | getMetadata (const Name &) const | 
| template<typename T> | |
| T & | metaValue (const Name &) | 
| Return a reference to the value of type Tstored in the given metadata field. | |
| template<typename T> | |
| const T & | metaValue (const Name &) const | 
| MetaIterator | beginMeta () | 
| MetaIterator | endMeta () | 
| ConstMetaIterator | beginMeta () const | 
| ConstMetaIterator | endMeta () const | 
| void | clearMetadata () | 
| size_t | metaCount () const | 
| std::string | str (const std::string &indent="") const | 
| Return a string describing this metadata map. Prefix each line with indent. | |
| bool | operator== (const MetaMap &other) const | 
| Return trueif the given map is equivalent to this map. | |
| bool | operator!= (const MetaMap &other) const | 
| Return trueif the given map is different from this map. | |
Container that maps names (strings) to values of arbitrary types.
| using ConstMetaIterator = MetadataMap::const_iterator | 
| using MetadataMap = std::map<Name, Metadata::Ptr> | 
| using MetaIterator = MetadataMap::iterator | 
| 
 | inline | 
| 
 | inlinevirtual | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| MetaMap::Ptr copyMeta | ( | ) | const | 
Return a copy of this map whose fields are shared with this map.
| MetaMap::Ptr deepCopyMeta | ( | ) | const | 
Return a deep copy of this map that shares no data with this map.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Return a pointer to a TypedMetadata object of type T and with the given name. If no such field exists or if there is a type mismatch, return a null pointer. 
| 
 | inline | 
| void insertMeta | ( | const MetaMap & | ) | 
Deep copy all of the metadata fields from the given map into this map.
| TypeError | if any field in the given map has the same name as but a different value type than one of this map's fields. | 
Insert a new metadata field or overwrite the value of an existing field.
If a field with the given name doesn't already exist, add a new field. Otherwise, if the new value's type is the same as the existing field's value type, overwrite the existing value with new value.
| TypeError | if a field with the given name already exists, but its value type is not the same as the new value's | 
| ValueError | if the given field name is empty. | 
| 
 | inline | 
| 
 | inline | 
Return a reference to the value of type T stored in the given metadata field. 
| LookupError | if no field with the given name exists. | 
| TypeError | if the given field is not of type T. | 
| 
 | inline | 
| 
 | inline | 
Return true if the given map is different from this map. 
| bool operator== | ( | const MetaMap & | other | ) | const | 
Return true if the given map is equivalent to this map. 
| 
 | inline | 
Return a pointer to the metadata with the given name. If no such field exists, return a null pointer.
| 
 | inline | 
| void readMeta | ( | std::istream & | ) | 
Unserialize metadata from the given stream.
| void removeMeta | ( | const Name & | ) | 
Remove the given metadata field if it exists.
| std::string str | ( | const std::string & | indent = "" | ) | const | 
Return a string describing this metadata map. Prefix each line with indent.
| void writeMeta | ( | std::ostream & | ) | const | 
Serialize metadata to the given stream.