Pigweed
 
Loading...
Searching...
No Matches
pw::allocator::BlockResult< BlockType > Class Template Reference

#include <result.h>

Inheritance diagram for pw::allocator::BlockResult< BlockType >:
pw::allocator::internal::GenericBlockResult

Public Member Functions

constexpr BlockResult (BlockType *block)
 
constexpr BlockResult (BlockType *block, Status status)
 
constexpr BlockResult (BlockType *block, Prev prev)
 
constexpr BlockResult (BlockType *block, Prev prev, size_t shifted_to_prev)
 
constexpr BlockResult (BlockType *block, Next next)
 
constexpr BlockResult (BlockType *block, Prev prev, Next next)
 
constexpr BlockResult (BlockType *block, Prev prev, Next next, size_t shifted_to_prev)
 
constexpr BlockType * block () const
 
- Public Member Functions inherited from pw::allocator::internal::GenericBlockResult
constexpr Prev prev () const
 
constexpr Next next () const
 
constexpr size_t size () const
 
constexpr bool ok () const
 
constexpr Status status () const
 
constexpr void IgnoreUnlessStrict () const
 

Additional Inherited Members

- Public Types inherited from pw::allocator::internal::GenericBlockResult
enum class  Prev : uint8_t { kUnchanged , kSplitNew , kResizedSmaller , kResizedLarger }
 
enum class  Next : uint8_t { kUnchanged , kSplitNew , kResized , kMerged }
 
- Protected Member Functions inherited from pw::allocator::internal::GenericBlockResult
constexpr GenericBlockResult (Status status, Prev prev, Next next, size_t size)
 

Detailed Description

template<typename BlockType>
class pw::allocator::BlockResult< BlockType >

Extends GenericBlockResult to include a pointer to a block.

The included pointer is to the block affected by the operation that produced a result. On error, this should be the original block. On success, it may be a newly produced block.

Template Parameters
BlockTypeThe type of the block included in the result.

The documentation for this class was generated from the following file: