template <typename NodeType, typename NodeSizeParams, typename Allocator>

class Allocations

Defined at line 49 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

Helper object for gathering all the allocations needed to perform an insert. Internally places

the allocations in an intrusively linked list until needed. Allocations must be registered, via

reserve, in the same order (i.e. size_class) that they are then retrieved with take_next.

Public Methods

void Allocations<NodeType, NodeSizeParams, Allocator> (Allocator & allocator)

Defined at line 51 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

void ~Allocations<NodeType, NodeSizeParams, Allocator> ()

Defined at line 52 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

void Allocations<NodeType, NodeSizeParams, Allocator> (const Allocations<NodeType, NodeSizeParams, Allocator> & )

Defined at line 62 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

void Allocations<NodeType, NodeSizeParams, Allocator> (Allocations<NodeType, NodeSizeParams, Allocator> && )

Defined at line 63 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

Allocations<NodeType, NodeSizeParams, Allocator> & operator= (const Allocations<NodeType, NodeSizeParams, Allocator> & )

Defined at line 64 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

Allocations<NodeType, NodeSizeParams, Allocator> & operator= (Allocations<NodeType, NodeSizeParams, Allocator> && )

Defined at line 65 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

bool reserve (uint32_t size_class)

Register another allocation. This will attempt the allocation and return false if it failed.

The allocation is added to the internal list.

Defined at line 69 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

template <typename... Args>
NodeType * take_next (uint32_t size_class, Args &&... args)

Retrieves the next allocation in order. It is an error to call this if a matching reserve was

not already performed.

Defined at line 88 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h