Allocator.h 802 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __DAHUA_INFRA_ALLOCATOR_H__
  2. #define __DAHUA_INFRA_ALLOCATOR_H__
  3. #include <stddef.h> /// for size_t
  4. #include "Defs.h"
  5. namespace Dahua {
  6. namespace Infra {
  7. /// 内存分配器 用于自定义STL容器
  8. class INFRA_API CAllocator
  9. {
  10. public:
  11. /// \brief 申请内存
  12. /// \param[in] size 内存大小
  13. /// \retval 内存指针
  14. static void* allocate(size_t size);
  15. /// \brief 重新申请内存
  16. /// \param[in] mem 原内存指针
  17. /// \param[in] old_size 原内存大小
  18. /// \param[in] new_size 新内存大小
  19. /// \retval 内存指针
  20. static void* reallocate(void* mem, size_t old_size, size_t new_size);
  21. /// \brief 释放内存
  22. /// \param[in] mem 原内存指针
  23. /// \param[in] size 内存大小
  24. static void dealocate(void* mem, size_t size);
  25. };
  26. } // end of Infra
  27. } // end of Dahua
  28. #endif // end of __DAHUA_INFRA_ALLOCATOR_H__