“constexpr ALL the Things!”
summary
Builds a real constexpr JSON parser and even a constexpr regex engine using constexpr lambdas and a user-defined literal template (GCC/Clang extension). Implements static_string, fixed-capacity constexpr_vector and flat-map, then removes template-depth limits with a size-precompute pass and a breadth-first linearization so arrays and objects are contiguous. Early builds take minutes; final release builds drop to a few seconds and small binaries. Demonstrations compile and static_assert at compile time; remaining limits are allocator/destructor and some stdlib gaps.
AI-written summary · about
chapters (55)
- 0:00Intro
- 2:39Recap
- 4:02Context lambdas
- 4:50JSON values
- 5:34Strings
- 8:41Exception
- 9:12StandardNext
- 10:29BasicString
- 11:14Map
- 12:11Context
- 13:02Compiler Explorer
- 13:47Console Expert
- 15:17Bryce
- 15:46Equal Mismatch Copy Found Uses
- 16:16Recursive Declaration
- 22:07Retirements
- 22:31Shortcomings
- 23:10Art Containers
- 23:29Optional Containers
- 24:37CVP References
- 25:34What is a parser
- 26:39What is a template alias
- 27:26Parsers
- 29:24parsing on strings
- 31:53fmap
- 33:37combine
- 35:31accumulate
- 37:20parse
- 38:34lambdas
- 39:02pawza
- 39:55stringpass
- 40:27JSON pauses
- 40:42A wall of text
- 41:06Function templates
- 41:34Proofofconcept
- 41:52Problem 1 JSON
- 42:18Problem 2 JSON
- 42:53Problem 3 JSON
- 43:33Getting rid of templates
- 43:48The pausing framework
- 44:10Number of values parser
- 44:37No more templates
- 45:30Object Layout
- 46:08Templated Operator
- 46:52String literals
- 47:19No recursive templates
- 47:44No arbitrary hardcoded limits
- 48:23String size parsing
- 49:43Positive framework
- 51:18Objects
- 52:17Conclusion
- 53:12Demo
- 57:41Problems Things
- 57:53Quiz
- 59:03Why this matters
related talks
01h 00mconstexpr: Applications
01h 01mExpressive Compile Time Parsers
01h 04mconstexpr: Introduction
01h 04m“Constant Fun"
01h 03mOLD VERSION: Understanding The constexpr 2-Step
01h 03mCompile-Time Regular Expressions
01h 18m“Variable Templates and Compile-Time Computation with C++14"
01h 18mExpressive Compile-Time Parsers in C++
