37#ifndef Alembic_AbcCoreAbstract_MetaData_h
38#define Alembic_AbcCoreAbstract_MetaData_h
111 m_tokenMap = iCopy.m_tokenMap;
126 m_tokenMap.setUnique( iFrom,
';',
'=',
true );
134 return m_tokenMap.get(
';',
'=',
true );
140 size_t size()
const {
return m_tokenMap.size(); }
168 void set(
const std::string &iKey,
const std::string &iData )
170 m_tokenMap.setValue( iKey, iData );
177 void setUnique(
const std::string &iKey,
const std::string &iData )
179 std::string found = m_tokenMap.value( iKey );
182 m_tokenMap.setValue( iKey, iData );
184 else if ( found != iData )
186 ABCA_THROW(
"Key: " << iKey <<
" already exists in MetaData" );
192 std::string
get(
const std::string &iKey )
const
194 return m_tokenMap.value( iKey );
201 std::string ret = m_tokenMap.value( iKey );
204 ABCA_THROW(
"Key: " << iKey <<
" did not exist in MetaData" );
214 iter != iMetaData.
end(); ++iter )
216 set( (*iter).first, (*iter).second );
225 iter != iMetaData.
end(); ++iter )
227 if ( !m_tokenMap.tokenExists( (*iter).first ) )
229 set( (*iter).first, (*iter).second );
239 iter != iMetaData.
end(); ++iter )
241 setUnique( (*iter).first, (*iter).second );
259 iter != iMetaData.
end(); ++iter )
261 if (
get( (*iter).first ) != (*iter).second )
274 iter != iMetaData.
end(); ++iter )
276 std::string found =
get( (*iter).first );
277 if ( found !=
"" && found != (*iter).second )
290 return m_tokenMap.exactMatch( iMetaData.m_tokenMap );
#define ALEMBIC_VERSION_NS
A wrapper around std::map that serializes and deserializes the map into a doubly-tokenized string,...
map_type::const_iterator const_iterator
map_type::const_reverse_iterator const_reverse_iterator
map_type::const_reference const_reference
map_type::value_type value_type
map_type::key_type key_type