Overview
Explore the intricacies of console emulation and generative programming in this CppNow 2018 conference talk. Delve into the challenges of balancing optimization for stable frame rates with maintaining complex hardware emulation logic. Learn how modern C++ techniques can address these challenges, focusing on the interprocess communication subsystem of the Nintendo 3DS. Discover the power of variadic templates, function reflection, and metaprogramming in bridging the gap between performance, maintainability, and correctness. Gain insights into generators and declarative interfaces, and their application in serialization-like problems to provide reusable and customizable functionality with a uniform API that minimizes boilerplate code. Follow along as Tony Wasserka, a seasoned C++ developer with extensive experience in console emulator projects, demonstrates how to leverage C++'s zero-cost abstraction capabilities in resource-constrained environments.
Syllabus
Introduction
Highlevel structure
More examples
System Call Emulation
Nintendo 3DS
Emulation
IPC
Protocol
Untype
Emulating
Type Lists
Function Traits
Partial Template Specialization
Generation
Demo
Glue Command Handler
Declarative Generators
Solution
Taught by
CppNow