Strong types for strong interfaces
summary
A generic named_type wrapper demonstrates strong types for units, parameters and lambdas, with a reference variant enabled by SFINAE to avoid unwanted copies, and a make_named_function helper that wraps generic callables. CRTP-based CRTP skills opt in operators like hashing, streaming and conversion. Benchmarks show zero-cost with -O2 (identical generated code); differences appear at lower optimization and compile / debug-info can grow. Full implementation and examples (user-defined literals, chrono-like durations) live on GitHub.
AI-written summary · about
chapters (23)
- 0:00Intro
- 0:27EXPRESSIVE CODE IN C++
- 3:00THE CIRCLE CLASS
- 4:21THE BUILDER PATTERN
- 5:26TAG DISPATCHING
- 7:48PRIOR ART
- 8:16NAMED TYPE
- 9:25PHANTOM TYPE
- 14:06STRONG UNITS
- 15:31PASSING BY COPY
- 16:39STD::BACK_INSERTER
- 18:01PASSING BY CONST REFERENCE
- 18:42PASSING BY REFERENCE
- 23:49PASSING LAMBDAS
- 26:22STRONG LAMBDAS
- 28:14STRONG GENERIC TYPES
- 30:45STD::CHRONO
- 32:32INHERITING FUNCTIONALITIES
- 35:13MODULAR FUNCTIONALITIES: HASHABLE
- 36:32CALLING FUNCTIONS ON STRONG TYPES
- 37:39CALLING METHODS ON STRONG TYPES
- 38:32COMPARING PERFORMANCE
- 40:56STRONG TYPES FOR STRONG INTERFACES








