Meeting 21 September 2017

CppCon 2016: Richard Smith “There and Back Again: An Incremental C++ Modules Design”

C++Now 2017 keynote: Ali Cehreli - Competitive Advantage with D

  • Unified call syntax:
1auto minutes(int n) { ... }
5writeln(evens(divide(multiply(values, 10), 3)));

Accelerating your C++ on GPU with SYCL

Transferring data from main memory to the GPU is slow. Really slow. Like, kill all your performance and get you fired slow.

VXL: Computer vision library

C++ Map

Polymorphic clones in modern C++

Jonathan Boccara

  • “virtual constructors” returning covariant bare pointers
  • “virtual constructors” returning unique_ptr<Interface>
  • multiple inheritance: use different “constructor” names

Quentin Duval, Reddit

  • provide a free function clone to wrap the returned pointers in unique_ptr
  • Non-Virtual Interface + CRTP
  • additionally, return pointers using GSL’s owner

CopperSpice YouTube C++ Channel


std::visit is everything wrong with modern C++


Optional: command-line argument parsing library


  • The library name is very confusing

Just::thread Pro Library v2.5.0

  • Written by Anthony Williams
  • Home
  • Pricing
  • Now includes coroutines!

Thoughts on destructive move


  • Move operations are allowed to throw
  • Move operations are potentially expensive
  • Moved-from state


The Release Uncertainty Principle says you can accurately know what the software will do, or when you will get it, but not both.

– @sanityinc

Programmer’s motto:

“We’ll cross that bridge when it’s burning underneath us.”

– @garybernhardt