ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::APIs::alloc::overheaded_operators_provider_t< base_operators > 模板结构体 参考

静态 Public 成员函数

static voidaligned_alloc (size_t align, size_t size) noexcept
 
static void aligned_free (void *ptr, size_t align) noexcept
 
static voidaligned_realloc (void *ptr, size_t size, size_t align) noexcept
 
static size_t aligned_blocksize (const void *ptr, size_t align) noexcept
 

详细描述

template<class base_operators>
struct elc::APIs::alloc::overheaded_operators_provider_t< base_operators >

在文件 all_defs.cpp14196 行定义.

成员函数说明

◆ aligned_alloc()

template<class base_operators >
static void * elc::APIs::alloc::overheaded_operators_provider_t< base_operators >::aligned_alloc ( size_t  align,
size_t  size 
)
inlinestaticnoexcept

在文件 all_defs.cpp14197 行定义.

14197 {
14198 using namespace overhead_n;
14199 void*tmp=base_operators::aligned_alloc(correct_align(align),correct_size(size,align));
14200 if(tmp){
14201 set_overhead(tmp,size);
14202 return correct_pointer(tmp,align);
14203 }
14204 else
14205 return nullptr;
14206 }
constexpr size_t correct_size(size_t size, size_t align) noexcept
constexpr pointer correct_pointer(pointer a, size_t align) noexcept
constexpr size_t correct_align(size_t align) noexcept
void set_overhead(pointer a, size_t size) noexcept

◆ aligned_blocksize()

template<class base_operators >
static size_t elc::APIs::alloc::overheaded_operators_provider_t< base_operators >::aligned_blocksize ( const void ptr,
size_t  align 
)
inlinestaticnoexcept

在文件 all_defs.cpp14221 行定义.

14221 {
14222 using namespace overhead_n;
14223 return get_overhead(recorrect_pointer(ptr,align));
14224 }
size_t get_overhead(const_pointer a) noexcept
constexpr pointer recorrect_pointer(pointer a, size_t align) noexcept

◆ aligned_free()

template<class base_operators >
static void elc::APIs::alloc::overheaded_operators_provider_t< base_operators >::aligned_free ( void ptr,
size_t  align 
)
inlinestaticnoexcept

在文件 all_defs.cpp14207 行定义.

14207 {
14208 using namespace overhead_n;
14209 base_operators::aligned_free(recorrect_pointer(ptr,align),correct_align(align));
14210 }

◆ aligned_realloc()

template<class base_operators >
static void * elc::APIs::alloc::overheaded_operators_provider_t< base_operators >::aligned_realloc ( void ptr,
size_t  size,
size_t  align 
)
inlinestaticnoexcept

在文件 all_defs.cpp14211 行定义.

14211 {
14212 using namespace overhead_n;
14213 void*tmp=base_operators::aligned_realloc(recorrect_pointer(ptr,align),correct_size(size,align),correct_align(align));
14214 if(tmp){
14215 set_overhead(tmp,size);
14216 return correct_pointer(tmp,align);
14217 }
14218 else
14219 return nullptr;
14220 }

该结构体的文档由以下文件生成: