Zserio C++ runtime library  1.0.0
Built for Zserio 2.13.0
NewDeleteResource.h
Go to the documentation of this file.
1 #ifndef ZSERIO_PMR_NEW_DELETE_RESOURCE_H_INC
2 #define ZSERIO_PMR_NEW_DELETE_RESOURCE_H_INC
3 
4 #include <new>
6 
7 namespace zserio
8 {
9 namespace pmr
10 {
11 namespace detail
12 {
13 
17 class NewDeleteResource : public MemoryResource
18 {
19 private:
20  void* doAllocate(size_t bytes, size_t ) override
21  {
22  return ::operator new(bytes);
23  }
24 
25  void doDeallocate(void* p, size_t, size_t) override
26  {
27  ::operator delete(p);
28  }
29 
30  bool doIsEqual(const MemoryResource& other) const noexcept override
31  {
32  return this == &other;
33  }
34 };
35 
36 } // namespace detail
37 
42 
43 } // namespace pmr
44 } // namespace zserio
45 
46 #endif // ZSERIO_PMR_NEW_DELETE_RESOURCE_H_INC
MemoryResource * getNewDeleteResource() noexcept