71 template <
class ARCHIVE_CTOR>
79 const std::string &iFileName,
93 AbcA::ArchiveWriterPtr iPtr,
97 ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
101 getErrorHandler().setPolicy( iPolicy );
106 AbcA::ArchiveWriterPtr iPtr,
108 ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
112 getErrorHandler().setPolicy( iPolicy );
128 std::string getName()
const;
137 int8_t getCompressionHint()
const;
142 void setCompressionHint( int8_t iCh );
149 uint32_t addTimeSampling(
const AbcA::TimeSampling & iTs );
154 AbcA::TimeSamplingPtr getTimeSampling( uint32_t iIndex );
158 uint32_t getNumTimeSamplings();
169 AbcA::ArchiveWriterPtr
getPtr() {
return m_archive; }
173 void reset() { m_archive.reset(); Base::reset(); }
179 return ( Base::valid() && m_archive );
187 AbcA::ArchiveWriterPtr m_archive;
200 const std::string &iFileName,
205 Arguments args( ErrorHandler::kThrowPolicy );
206 iArg0.setInto( args );
207 iArg1.setInto( args );
210 getErrorHandler().setPolicy( args.getErrorHandlerPolicy() );
212 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OArchive::OArchive( iFileName )" );
214 m_archive = iCtor( iFileName, args.getMetaData() );
216 ALEMBIC_ABC_SAFE_CALL_END_RESET();