Many an `any`
summary
Implements several concrete std::any designs starting from a minimal version that stores the value on the heap via a void pointer plus a templated deleter and clone function, fixes forwarding-reference recursion with std::remove_cvref/decay, makes move operations noexcept using std::exchange, and adds an owned-object variant with virtual clone plus an embedded small-object buffer option. Explores allocator-aware (pmr) trade-offs and constexpr limits, attempts microbenchmarks but reports no reliable results yet.
AI-written summary · about
chapters (13)
- 0:00Start
- 4:04What Is the any Type
- 4:44Can You Store Functions
- 6:41Member Function Templates
- 12:12Risks
- 13:40Goals of this Session
- 16:12Interface
- 36:34Standard Exchange
- 38:49Copy Assignment
- 46:05Anycast
- 1:04:33Excessive Allocations
- 1:12:33Pmr Allocators
- 1:12:56Principle of the Pmr Allocator
related talks
57mFun with Type Erasure: Implementing a Value Wrapper for Polymorphic Types
55mBreaking Dependencies: Type Erasure - The Implementation Details
34mAllocator-Aware C++ Type Design
01h 01mGetting Allocators out of Our Way
01h 23mRethink Polymorphism in C++
01h 00m“Enhanced Support for Value Semantics in C++17”
57m“An allocator model for std2”
01h 02m“Lightweight Object Persistence With Relocatable Heaps in Modern C++"
