C++Now 2017
2017-05-15..2017-05-20
Aspen, United States
C++Now ·
[C++Now 2017, C++Now 2018, C++Now 2019, C++Now 2022, C++Now 2023, C++Now 2024, C++Now 2026]
who it's for
C++ library authors, systems programmers, performance engineers, compiler and toolchain engineers, infrastructure engineers, software architects, C++ educators
topics
global multi-cloud load balancing; header-only state machine; C++14 pattern matching; slot map data structure; emulating Rust borrow checker; networking TS with ASIO; generalized fold expressions; benchmarking compilation times; fighting compiler warnings; Euclid GCD to rotate; Kotlin JVM and native
| title | author | length |
|---|---|---|
| Global Scale Multi-Cloud, Multi-CDN Load Balancing with C++ | Gwendolyn Hunt | 06m |
Built a production global load balancer called Openmix global load balancer that uses real user monitoring (14 billion measurements per day, ~100 million… | ||
| [BOOST].SML STATE MACHINE LANGUAGE | Kris Jusiak | 05m |
A header-only state-machine DSL implemented with lambdas and template deduction compiles to a static transition table and runs at compile time, targeting C++14… | ||
| If you're arguing, you're losing | Richard Powell | 04m |
Claim: call functions without arguments by moving data out of the parameter list. Demonstrates five concrete approaches: globals (then thread-safe globals)… | ||
| Kotlin as Java++ | Dmitry Kozhevnikov | 05m |
Claims that Kotlin is 100% Java-compatible and compiles to the same JVM bytecode while offering distinct features: a JavaScript and a native (LLVM) backend… | ||
| Networking TS w/Algorithms | Kirk Shoop | 04m |
Implements three operators on top of ASIO and the Networking TS: Connect, send, read, and composes them with an observable algorithm library so network I/O… | ||
| Fighting Compiler warnings | Marshall Clow | 05m |
A tiny hex digit to value routine in Boost.Algorithm triggers contradictory compiler diagnostics: one compiler warns that control reaches end of nonvoid… | ||
| The Slot Map Data Structure | Allan Deutsch | 04m |
A slot map provides true constant time lookup, insert and erase (not amortized except when allocation occurs) by storing elements in dense contiguous memory… | ||
| Euclid's Algorithm & STL | Sandeep Gupta | 04m |
Demonstrates that replacing the subtraction step in Euclid's GCD with a swap instead of subtract and advancing an iterator yields the core loop of std::rotate… | ||
| Bruce Lee | Tony Van Eerd | 07m |
A rapid rundown connecting Bruce Lee aphorisms to concrete C++ issues: applies his refactoring idea to removing code instead of adding, argues prototyping as… | ||
| Pattern Matching in C++14 | Michael Park | 07m |
A C++14 library implements algebraic-style pattern matching with a match(expr) API that binds variables, supports value, wildcard, alternation and prod pattern… | ||
| Modern C++ | Michael Caisse | 05m |
Argues that “modern C++” is a historical label tied to the C++11/14/17 era rather than a living descriptor, points out the community hopes C++20 will continue… | ||
| Modern C++ Coming to Terms With Terms | Jon Kalb | 08m |
Argues that C++11 is a hard boundary: code before 2011 is classic C++ and code from C++11 onward is modern C++, because the committee shifts releases from a… | ||
| Emulating Rust's Borrow Checker in C++ | Jonathan Müller | 05m |
A header-only library shows how C++ templates, RAII and move semantics emulate Rust’s borrow rules, enforcing exclusive borrows and preventing mutable aliasing… | ||
| Benchmarking Compilation Times | Michal Dominiak | 05m |
A small tool that parses compiler timing output (LLVM/Clang clocks and GCC time reports) and builds a directory view showing per-directory and per-file… | ||
| Concept Driven Design with Dependency Injection | Kris Jusiak | 05m |
Claims a workflow that uses C++14/17-era concepts emulation and policy-based design to wire dependencies at compile time, producing policy-based compile-time… | ||
| How to go to Google.com | Peter Bindels | 04m |
Starts with DHCP discover to get an IP, uses ARP broadcast to find the gateway, then sends an DNS query to port 53 to resolve google.com, opens a TCP… | ||
| Keyword Abuse | Ben Deane | 03m |
Explores how many C++ keywords can appear in a row and still form valid code, using cppreference.com and compiler error messages as experimentation tools… | ||
| Multidimensional Iterators | Bryce Adelstein Lelbach | 05m |
Attempts to abstract nested loops into reusable iterators usually kill vectorization, but here a generate_indices range implemented with C++ coroutines emits… | ||
| You must type it three times | Vittorio Romeo | 05m |
Library wrappers require copying the function body three times to get correct noexcept, decltype(auto) return type and SFINAE friendliness; the talk shows a… | ||
| Generalized fold expressions | Jackie Kay | 04m |
Demonstrates using C++17 fold expressions to process parameter packs and shows a comma-operator foreach trick that’s terse but cannot capture heterogeneous… | ||
| Esolangs | Mark Zeren | 05m |
A rapid tour of concrete esoteric languages and what makes each hard or clever: BF compilers fit in <200 bytes, Befunge uses two-dimensional, self‑modifying… | ||
| Errors: forgotten, but not gone | Kirk Shoop | 04m |
Built a virtual smart card emulator on Windows and discovers errors are a lifetime issue, so implement a RAII-style unique_error that treats an error like a… | ||
| nothing matches | ||