3434#include " ../../Primitives/interface/BasicTypes.h"
3535#include " ../../Primitives/interface/DataBlob.h"
3636#include " ../../Primitives/interface/MemoryAllocator.h"
37+ #include " STDAllocator.hpp"
3738#include " RefCntAutoPtr.hpp"
3839#include " ObjectBase.hpp"
3940
@@ -47,6 +48,7 @@ class DataBlobImpl final : public Diligent::ObjectBase<IDataBlob>
4748 typedef ObjectBase<IDataBlob> TBase;
4849
4950 static RefCntAutoPtr<DataBlobImpl> Create (size_t InitialSize = 0 , const void * pData = nullptr );
51+ static RefCntAutoPtr<DataBlobImpl> Create (IMemoryAllocator* pAllocator, size_t InitialSize = 0 , const void * pData = nullptr );
5052 static RefCntAutoPtr<DataBlobImpl> MakeCopy (const IDataBlob* pDataBlob);
5153
5254 ~DataBlobImpl () override ;
@@ -81,10 +83,13 @@ class DataBlobImpl final : public Diligent::ObjectBase<IDataBlob>
8183 template <typename AllocatorType, typename ObjectType>
8284 friend class MakeNewRCObj ;
8385
84- explicit DataBlobImpl (IReferenceCounters* pRefCounters, size_t InitialSize = 0 , const void * pData = nullptr );
86+ DataBlobImpl (IReferenceCounters* pRefCounters,
87+ IMemoryAllocator& Allocator,
88+ size_t InitialSize = 0 ,
89+ const void * pData = nullptr );
8590
8691private:
87- std::vector<Uint8> m_DataBuff;
92+ std::vector<Uint8, STDAllocatorRawMem<Uint8> > m_DataBuff;
8893};
8994
9095class DataBlobAllocatorAdapter final : public IMemoryAllocator
0 commit comments