Meeting 27 July 2017
Presenting effectively in meetings, by Dirk Haun, ACCU 2017
Roger Orr - Making Templates Easier (ACCU)
- Templates
enable_if
- Concepts
CLion 2017.3 roadmap
- Valgrind integration
- Remote development support
- Better C++ language support
- Multiple toolchains
- Custom pretty printers for debugger
- GDB 8, LLDB 5
- Gutter icons for unit tests
- Improvements and fixes for Google Test and Catch
Thoughts on Metaclasses - Herb Sutter - Keynote [ACCU 2017]
- Depends on:
- C++17
- concepts (C++20)
constexpr
,if constexpr
- compile-time meta-programming (P0589, P0633)
- reflection (P0194, P0385, P0578, P0590, P0598)
- Start watching at 18m
Reflection
1$T, $expr
Compile-time programming
1constexpr {
2 for (auto m: $T.variables())
3 if (m.name() == "xyzzy")
4 -> { int plugh; }
5}
The Detection Idiom - a simpler way to SFINAE - Marshall Clow [ACCU 2017]
pystring
by Sony ImageWorks
Pystring is a collection of C++ functions which match the interface and behavior of python’s string class methods using
std::string
. Implemented in C++, it does not require or make use of a python interpreter. It provides convenience and familiarity for common string operations not included in the standard C++ library. It’s also useful in environments where both C++ and python are used.
Overlapping functionality (such as index
and slice
/substr
) of std::string
is included to match python interfaces.
Modern C++ Design reloaded - Odin Holmes [ACCU 2017]
- This is an “update” to the book “Modern C++ Design” by Andrei Alexandrescu
- Discusses updated template metaprogramming techniques:
- policy-based class design;
- replacing multiple templates with variadic templates.
“Concept”-based polymorphism
Bjarne Stroustrup on Mapping the Journey podcast
The Guidelines Support Library - Rainer Grimm
- Microsoft GSL
- GSL-Lite - works with C++98 and C++03
- Quick overview of the classes available
The Ultimate Question of Programming, Refactoring, and Everything
by Andrey Karpov, PVS Studio
- Tips and tricks on C++ programming
- Examples of bugs and bad practices
- Lots of code snippets
- Based on PVS-Studio diagnostics