Meeting 21 September 2017
CppCon 2016: Richard Smith “There and Back Again: An Incremental C++ Modules Design”
- Clang’s “C++98 Modules”; GDR in the audience (RS: “Do you like it?” GDR: “I don’t know!”)
- Modules TS
- Why Google needs macros in modules (
#export_macros
)- To support incremental transition (
import legacy foo.h
) - P0273R1: Proposed modules changes from implementation and deployment experience
- To support incremental transition (
C++Now 2017 keynote: Ali Cehreli - Competitive Advantage with D
- Unified call syntax:
1auto minutes(int n) { ... }
2minutes(10);
310.minutes;
4
5writeln(evens(divide(multiply(values, 10), 3)));
6values.multiply(10).divide(3).evens.writeln;
Accelerating your C++ on GPU with SYCL
- Post by Simon Brand (@TartanLlama)
- Code samples
- Intro to GPGPU computing
- Libraries: triSYCL and ComputeCpp
- SyclParallelSTL implements Parallelism TS
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++
- “virtual constructors” returning covariant bare pointers
- “virtual constructors” returning
unique_ptr<Interface>
- multiple inheritance: use different “constructor” names
- provide a free function
clone
to wrap the returned pointers inunique_ptr
- Non-Virtual Interface + CRTP
- additionally, return pointers using GSL’s
owner
CopperSpice YouTube C++ Channel
std::visit is everything wrong with modern C++
union
,std::variant
- Open Pattern Matching for C++, by Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup (PDF)
- P0095R1: Pattern Matching and Language Variants, by David Sankel :: Article
Optional: command-line argument parsing library
- The library name is very confusing
Just::thread Pro Library v2.5.0
Thoughts on destructive move
- Move operations are allowed to throw
- Move operations are potentially expensive
- Moved-from state
Quotes
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