template <SealableMemory Memory, size_t Reserve = 0>

class SealedPageAllocator

Defined at line 31 of file ../../src/lib/trivial-allocator/include/lib/trivial-allocator/sealed-page-allocator.h

trivial_allocator::SealedPageAllocator is a variant of PageAllocator that

automatically "seals" its allocations to make them read-only.

The release() method on the "smart pointer" object it returns has a special

behavior: it moves that allocation to a "staging area" in the allocator.

The staging area has space for at least one allocation, and as many more as

the Reserve template argument requests. While "released" allocations are in

the staging area, they are writable. When old allocations are evicted from

the staging area to make room for a new allocation's release(), they get

"sealed" so their memory is read-only, and then they are leaked. Just

before destruction, the Seal() method can be called to seal (and leak) the

last allocations still in flight. If Seal() is not called, any unsealed

allocations still outstanding will be deallocated on destruction.

Public Methods

void SealedPageAllocator<Memory, Reserve> (SealedPageAllocator<Memory, Reserve> && )

Defined at line 66 of file ../../src/lib/trivial-allocator/include/lib/trivial-allocator/sealed-page-allocator.h

SealedPageAllocator<Memory, Reserve> & operator= (SealedPageAllocator<Memory, Reserve> && )

Defined at line 68 of file ../../src/lib/trivial-allocator/include/lib/trivial-allocator/sealed-page-allocator.h

Allocation operator() (size_t & size, size_t alignment)

Defined at line 70 of file ../../src/lib/trivial-allocator/include/lib/trivial-allocator/sealed-page-allocator.h

void Seal ()

Defined at line 76 of file ../../src/lib/trivial-allocator/include/lib/trivial-allocator/sealed-page-allocator.h

Records