22 #ifndef SEASTAR_MODULE
26 #include <seastar/util/modules.hh>
32 void* allocate_aligned_buffer_impl(
size_t size,
size_t align);
35 SEASTAR_MODULE_EXPORT_BEGIN
38 void operator()(
void* p) { ::free(p); }
41 template <
typename CharType>
43 std::unique_ptr<CharType[], free_deleter> allocate_aligned_buffer(
size_t size,
size_t align) {
44 static_assert(
sizeof(CharType) == 1,
"must allocate byte type");
45 void* ret = internal::allocate_aligned_buffer_impl(size, align);
46 return std::unique_ptr<CharType[], free_deleter>(
reinterpret_cast<CharType *
>(ret));
49 SEASTAR_MODULE_EXPORT_END
Seastar API namespace.
Definition: abort_on_ebadf.hh:26
Definition: aligned_buffer.hh:37