template <typename NodeType, typename NodeSizeParams, typename Allocator>

class Allocations

Defined at line 48 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 50 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h

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

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

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

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

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

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

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

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

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

Defined at line 64 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 68 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 87 of file ../../zircon/kernel/lib/btree/include/lib/btree_util.h