CppCon 2025 Building Vector Math Libraries with Concepts & Customization Points -- Greg von Winckel
Registration is now open for CppCon 2026! The conference starts on September 12 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2026!
Zero-Overhead Abstractions: Building Vector Math Libraries with Concepts and Customization Points
by Greg von Winckel
Summary of the talk:
This talk demonstrates how C++20's Concepts and Customization Point Objects (CPOs) provide a flexible, opt-in approach to vector algorithms—a compelling alternative to inheritance-based interfaces. Starting with foundational concepts and CPOs, we'll design mathematical abstractions that enable precise compile-time requirements with helpful diagnostics and clear error messages.
Through a practical vector framework implementation, we'll explore patterns essential for high-performance scientific computing applications, including interpolation and iterative methods for linear and nonlinear systems. Attendees will learn how CPOs with intelligent fallbacks parallel the familiar base-class/override structure of OOP, providing similar code reuse and customization opportunities without inheritance entanglements, while enabling seamless interoperability between diverse container types in the spirit of the STL.
As a C++ developer and architect at Sandia National Laboratories for the past decade, I've witnessed the burden of OOP overuse: complicated class hierarchies, parallelism compatibility issues, and testing challenges. The Real Vector Framework I've developed demonstrates how static polymorphism and free functions provide cleaner, more flexible alternatives to inheritance—bringing modern C++ practices to scientific computing while preserving the performance critical to our applications.


Registration is now open for CppCon 2026! The conference starts on September 12 and will be held
Registration is now open for CppCon 2026! The conference starts on September 12 and will be held
Registration is now open for CppCon 2026! The conference starts on September 12 and will be held
Mixing your units can be disastrous. Wu Yongwei takes a quick look at C++ unit libraries that can help keep everything in order.