MemoryStreamImpl.h trio/streams/MemoryStream.h trio/streams/StreamStatus.h trio/types/Aliases.h pma/TypeDefs.h cstddef cstdint vector MemoryStreamImpl.cpp trio::MemoryStreamImpl trio //CopyrightEpicGames,Inc.AllRightsReserved. #pragmaonce #include"trio/streams/MemoryStream.h" #include"trio/streams/StreamStatus.h" #include"trio/types/Aliases.h" #include<pma/TypeDefs.h> #ifdef_MSC_VER #pragmawarning(push) #pragmawarning(disable:43654987) #endif #include<cstddef> #include<cstdint> #include<vector> #ifdef_MSC_VER #pragmawarning(pop) #endif namespacetrio{ classMemoryStreamImpl:publicMemoryStream{ public: MemoryStreamImpl(std::size_tinitialSize,MemoryResource*memRes_); voidopen()override; voidclose()override; std::uint64_ttell()override; voidseek(std::uint64_tposition_)override; std::uint64_tsize()override; std::size_tread(char*destination,std::size_tsize)override; std::size_tread(Writable*destination,std::size_tsize)override; std::size_twrite(constchar*source,std::size_tsize)override; std::size_twrite(Readable*source,std::size_tsize)override; MemoryResource*getMemoryResource(); private: StreamStatusstatus; Vector<char>data; std::size_tposition; MemoryResource*memRes; }; }//namespacetrio