BinaryStreamWriterImpl.cpp dna/stream/BinaryStreamWriterImpl.h dna/TypeDefs.h cassert cstddef cstring tuple utility dna //CopyrightEpicGames,Inc.AllRightsReserved. #include"dna/stream/BinaryStreamWriterImpl.h" #include"dna/TypeDefs.h" #include<cassert> #include<cstddef> #include<cstring> #include<tuple> #include<utility> namespacedna{ BinaryStreamWriter::~BinaryStreamWriter()=default; BinaryStreamWriter*BinaryStreamWriter::create(BoundedIOStream*stream,MemoryResource*memRes){ PolyAllocator<BinaryStreamWriterImpl>alloc{memRes}; returnalloc.newObject(stream,memRes); } voidBinaryStreamWriter::destroy(BinaryStreamWriter*instance){ //NOLINTNEXTLINE(cppcoreguidelines-pro-type-static-cast-downcast) autowriter=static_cast<BinaryStreamWriterImpl*>(instance); PolyAllocator<BinaryStreamWriterImpl>alloc{writer->getMemoryResource()}; alloc.deleteObject(writer); } BinaryStreamWriterImpl::BinaryStreamWriterImpl(BoundedIOStream*stream_,MemoryResource*memRes_): BaseImpl{memRes_}, WriterImpl{memRes_}, stream{stream_}, archive{stream_}{ } voidBinaryStreamWriterImpl::write(){ stream->open(); archive<<dna; archive.sync(); stream->close(); } }//namespacedna