“Two practical applications of the Brigand TMP library"
summary
Brigand provides a modern TMP toolkit that replaces Boost.MPL for tasks like compile-time serialization (allocating exact bytes and generating Boost.Test code) and automatic transformation of AOS↔SOA layouts into allocators, iterators and a zip iterator. Benchmarks show MPL blows up around 50–100 types while Brigand runs orders faster (fast‑lane unrolling), and the SOA/AOSOA layout yields about a 2–3× speedup on cache‑bound kernels. Library is on GitHub under the Boost license and compiles on MSVC2013.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:20Two practical examples
- 1:47Why should I care
- 2:22Outline
- 5:02Type List
- 6:57Transform
- 8:56Bridge
- 9:46First Use Case
- 10:40Template metaprogramming
- 11:08Structure
- 12:31Cleaning up the list
- 13:21Remove duplicate in message
- 14:19Sort by ID
- 15:11Bridge compiletime with runtime
- 16:08Duplicate IDs
- 16:57Question
- 22:43Fusion
- 28:09Conclusion
- 31:17Fastest MIT programming library
- 37:23Are 500 types useless
- 45:53Set Implementation
related talks
09mIntroducing brigand
29mMorello software and compilers
51mCompile-time tools supporting generic programming in C++
01h 03mMMTk and The Case for Modular VM Development
34mModernizing Standard ML of New Jersey: A Status Report
15mCopy-and-Patch Compilation
46mAhead Of Time (AOT) Internals
01h 01m“A modern formatting library for C++”
