Skip to main content
Pigweed's logo Pigweed
  1. Home
  2. Reference
  3. C/C++
  4. pw_allocator
  5. Buckets
Loading...
Searching...
No Matches

Overview

Data structures that track free blocks.

Classes

class  pw::allocator::internal::BucketBase< Derived, BlockType_, ItemType_ >
 
class  pw::allocator::FastSortedItem< BlockType >
 
struct  pw::allocator::GenericFastSortedItem
 
class  pw::allocator::FastSortedBucket< BlockType >
 
class  pw::allocator::ReverseFastSortedBucket< BlockType >
 
class  pw::allocator::SequencedItem
 
class  pw::allocator::SequencedBucket< BlockType >
 
class  pw::allocator::SortedItem
 
class  pw::allocator::ForwardSortedBucket< BlockType >
 
class  pw::allocator::ReverseSortedBucket< BlockType >
 
class  pw::allocator::UnorderedItem
 
class  pw::allocator::UnorderedBucket< BlockType >
 

Functions

template<typename T , typename U = size_t>
constexpr U pw::allocator::internal::CountRZero (T t)
 
template<typename T , typename U = size_t>
constexpr U pw::allocator::internal::CountLZero (T t)
 

Function Documentation

◆ CountLZero()

template<typename T , typename U = size_t>
constexpr U pw::allocator::internal::CountLZero ( t)
constexpr

Like cpp20:countl_zero, but returns an unsigned type.

Useful for managing the bitmaps that several allocators use to track empty buckets.

◆ CountRZero()

template<typename T , typename U = size_t>
constexpr U pw::allocator::internal::CountRZero ( t)
constexpr

Like cpp20:countr_zero, but returns an unsigned type.

Useful for managing the bitmaps that several allocators use to track empty buckets.