29 #ifndef BIT_MEMORY_BLOCK_ALLOCATORS_NULL_BLOCK_ALLOCATOR_HPP 30 #define BIT_MEMORY_BLOCK_ALLOCATORS_NULL_BLOCK_ALLOCATOR_HPP 32 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 34 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 36 #include "detail/named_block_allocator.hpp" 38 #include "../utilities/allocator_info.hpp" 39 #include "../utilities/macros.hpp" 40 #include "../utilities/memory_block.hpp" 41 #include "../utilities/owner.hpp" 43 #include <type_traits> 62 using default_block_alignment = std::integral_constant<std::size_t,1>;
134 using named_null_block_allocator = detail::named_block_allocator<null_block_allocator>;
139 #include "detail/null_block_allocator.inl" null_block_allocator()=default
Default-constructs a null_block_allocator.
A block allocator that only distributes null blocks.
allocator_info info() const noexcept
Gets the info about this allocator.
std::size_t next_block_size() const noexcept
Queries the next block size expected from this allocator.
void deallocate_block(owner< memory_block > block) noexcept
Deallocates a memory_block.
owner< memory_block > allocate_block() noexcept
Allocates a null memory_block.
This type is used to hold the generic information for a given allocator.
null_block_allocator & operator=(null_block_allocator &&other) noexcept=default
Move-assigns a null_block_allocator from another allocator.