4#ifndef OPENVDB_METADATA_METAMAP_HAS_BEEN_INCLUDED
5#define OPENVDB_METADATA_METAMAP_HAS_BEEN_INCLUDED
73 template<
typename T>
typename T::Ptr getMetadata(
const Name&);
74 template<
typename T>
typename T::ConstPtr getMetadata(
const Name&)
const;
80 template<
typename T> T& metaValue(
const Name&);
81 template<
typename T>
const T& metaValue(
const Name&)
const;
94 std::string
str(
const std::string& indent =
"")
const;
119MetaMap::operator[](
const Name& name)
122 return (iter == mMeta.end() ?
Metadata::Ptr() : iter->second);
126MetaMap::operator[](
const Name &name)
const
129 return (iter == mMeta.end() ?
Metadata::Ptr() : iter->second);
137inline typename T::Ptr
138MetaMap::getMetadata(
const Name &name)
141 if (iter == mMeta.end())
return typename T::Ptr{};
147 if (iter->second->typeName() == T::staticTypeName()) {
148 return StaticPtrCast<T, Metadata>(iter->second);
150 return typename T::Ptr{};
154inline typename T::ConstPtr
155MetaMap::getMetadata(
const Name &name)
const
158 if (iter == mMeta.end())
return typename T::ConstPtr{};
164 if (iter->second->typeName() == T::staticTypeName()) {
165 return StaticPtrCast<const T, const Metadata>(iter->second);
167 return typename T::ConstPtr{};
176MetaMap::getValidTypedMetadata(
const Name &name)
const
178 ConstMetaIterator iter = mMeta.find(name);
187 m = StaticPtrCast<TypedMetadata<T>,
Metadata>(iter->second);
199MetaMap::metaValue(
const Name &name)
208MetaMap::metaValue(
const Name &name)
const
OPENVDB_API std::ostream & operator<<(std::ostream &os, half h)
Output h to os, formatted as a float.
Definition Exceptions.h:60
Definition Exceptions.h:64
std::string Name
Definition Name.h:19
std::shared_ptr< T > SharedPtr
Definition Types.h:114
Definition Exceptions.h:13
#define OPENVDB_THROW(exception, message)
Definition Exceptions.h:74
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:212