added Collection.h

This commit is contained in:
2021-02-23 19:55:53 +08:00
parent f52b7ac971
commit c4c52a14ae
2 changed files with 284 additions and 2 deletions

View File

@@ -59,6 +59,13 @@ using os_char =wchar_t;
#define hgl_realloc(ptr,size) _aligned_realloc(ptr,size,HGL_MEM_ALIGN)
#define hgl_free _aligned_free
void *hgl_align_malloc(size_t n,size_t align_size)
{
if(n<=0)return(nullptr);
return _aligned_malloc(n,align_size);
}
template<typename T>
inline T *hgl_align_malloc(size_t n)
{
@@ -67,19 +74,37 @@ inline T *hgl_align_malloc(size_t n)
return (T *)_aligned_malloc(n*sizeof(T),alignof(T));
}
void *hgl_align_realloc(void *ptr,size_t n,size_t align_size)
{
if(n<=0)
{
if(ptr)
_aligned_free(ptr);
return(nullptr);
}
if(ptr)
return _aligned_realloc(ptr,n,align_size);
else
return _aligned_malloc(n,align_size);
}
template<typename T>
inline T *hgl_align_realloc(T *ptr,size_t n)
{
if(n<=0)
{
_aligned_free(ptr);
if(ptr)
_aligned_free(ptr);
return(nullptr);
}
if(ptr)
return (T *)_aligned_realloc(ptr,n*sizeof(T),alignof(T));
else
return (T *)_aligned_malloc(n*sizeof(T),alignof(T));
return (T *)_aligned_malloc(n*sizeof(T),alignof(T));
}
#define OS_EXTERNAL_H <winbase.h>