ArenaMemoryResource.h pma/Defs.h pma/MemoryResource.h pma/ScopedPtr.h cstddef Aliases.h ArenaMemoryResource.cpp TypeDefs.h TypeDefs.h pma::ArenaMemoryResource pma //CopyrightEpicGames,Inc.AllRightsReserved. #pragmaonce #include"pma/Defs.h" #include"pma/MemoryResource.h" #include"pma/ScopedPtr.h" #include<cstddef> namespacepma{ classArenaMemoryResource:publicMemoryResource{ public: PMAAPIArenaMemoryResource(std::size_tinitialSize,std::size_tregionSize,floatgrowthFactor,MemoryResource*upstream); PMAAPIArenaMemoryResource(std::size_tregionSize,floatgrowthFactor,MemoryResource*upstream); PMAAPIArenaMemoryResource(std::size_tregionSize,MemoryResource*upstream); PMAAPI~ArenaMemoryResource(); ArenaMemoryResource(constArenaMemoryResource&)=delete; ArenaMemoryResource&operator=(constArenaMemoryResource&)=delete; PMAAPIArenaMemoryResource(ArenaMemoryResource&&); PMAAPIArenaMemoryResource&operator=(ArenaMemoryResource&&); PMAAPIvoid*allocate(std::size_tsize,std::size_talignment)override; PMAAPIvoiddeallocate(void*ptr,std::size_tsize,std::size_talignment)override; PMAAPIMemoryResource*getUpstreamMemoryResource()const; private: classImpl; ScopedPtr<Impl, FactoryDestroy<Impl>>pImpl; }; }//namespacepma