std::allocator...
summary
Argues std::allocator is the wrong abstraction and replaces it with a small API of void size operations plus primitives like owns primitive and allocate_all that make composition first class. Builds composable pieces — fallback allocator*, stack allocator, free-list, bit‑map blocks, segregator and bucketizer — and shows many are three‑ or four‑line wrappers around parents; composes them to cover virtually all allocation needs, trades off time/space and thread contention, and demonstrates the design works with simple, testable implementations.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:23Working Titles
- 1:59A Cyclical Business
- 5:35It was a Dark and Stormy Night
- 8:04Turning Time Back
- 9:52operator new
- 14:33Development
- 15:04std::allocator
- 21:43More Obvious Mistakes
- 23:25Subtle Issue: Composition
- 27:45Simplest Composite Allocator
- 29:31FallbackAllocator::allocate
- 32:40Good Citizenry
- 35:43Suddenly!
- 37:08StackAllocator
- 52:09Freelist improvements
- 56:00Adding Affixes
related talks
57m“An allocator model for std2”
01h 02mPractical Memory Pool Based Allocators For Modern C++
01h 03mAn Allocator is a Handle to a Heap
01h 31mWhen Abstractions Fix Too Much - Towards Flexible Library Design
55mBreaking Dependencies: Type Erasure - The Implementation Details
36mInterfaces Matter
32mC++ Standard Library "Little Things”
01h 00mThere Are No Zero-cost Abstractions
