Modernes C++ goes Worldwide--Rainer Grimm
Want to get your c++ better?
Modernes C++ goes Worldwide
by Rainer Grimm
From the article:
I'm happy to announce that I offer English and German online seminars.
June 16-21, Sofia, Bulgaria
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 16-21, Kona, HI, USA
By Adrien Hamelin | May 15, 2020 01:44 PM | Tags: community
Want to get your c++ better?
Modernes C++ goes Worldwide
by Rainer Grimm
From the article:
I'm happy to announce that I offer English and German online seminars.
By Meeting C++ | May 13, 2020 06:53 AM | Tags: training meetingcpp learning intermediate efficiency community c++17 c++14 c++11 basics advanced
Meeting C++ Trainings - a site for online trainings launched on Monday:
Announcing the start of Meeting C++ Trainings
by Jens Weller
From the article:
Meeting C++ organizes now its own online trainings, learn C++ from the leading experts!
You can choose trainings from several trainers and participate in the training you need online. Both half day and full day trainings are available. Right now the listed trainings start by mid June and go into July, but soon also Trainings in August and September will be available. My goal is to offer 1-2 Trainings per trainer in one quarter...
By Adrien Hamelin | May 11, 2020 10:51 AM | Tags: c++20 advanced
Moving to C++20!
Ordering by constraints
by Andrzej Krzemieński
From the article:
In the previous post we have seen how constraint conjunction and disjunction works, and how a function template with constraints is a better match than a function template without constraints (provided that the constraints are satisfied) when determining the best overload. We have also mentioned that selecting a better match from two constrained templates is possible, but not obvious. In this post we will expand on this, and show how constraint conjunction and disjunction as well as concepts play an important role in ordering function overloads and class template specializations based solely on constraints. This is one of the situations where language concepts show their special properties...
By Adrien Hamelin | May 11, 2020 10:48 AM | Tags: community
The new version is out.
GCC 10.1 Released
by Jakub Jelinek
From the article:
A year has lapsed away since the release of last major
GCC release, more than 33 years passed since the first
public GCC release and the GCC developers survived
repository conversion from SVN to GIT earlier this year.Today, we are glad to announce another major GCC release, 10.1.
This release makes great progress in the C++20 language support,
both on the compiler and library sides [1], some C2X enhancements,
various optimization enhancements and bug fixes, several new
hardware enablement changes and enhancements to the compiler back-ends
and many other changes. There is even a new experimental static
analysis pass [2]...
By Adrien Hamelin | May 6, 2020 11:43 AM | Tags: intermediate c++17
Many things can be done!
Nifty Fold Expression Tricks
by Jonathan Müller
From the article:
Suppose you need to have a variadic function and want to add all arguments together. Before C++17, you need two pseudo-recursive functions:
template <typename H, typename ... T> auto add(H head, T... tail) { return head + add(tail...); } template <typename H> auto add(H head) { return head; }However, C++17 added fold expressions, making it a one-liner:
template <typename H, typename ... T> auto add(H head, T... tail) { return (head + ... + tail); // expands to: head + tail[0] + tail[1] + ... }If we’re willing to abuse operator evaluation rules and fold expressions, we can do a lot more. This blog posts collects useful tricks...
By Adrien Hamelin | May 6, 2020 11:42 AM | Tags: c++20
Interested?
C++20: Thread Pools with cppcoro
by Rainer Grimm
From the article:
This post is the third and final post in my miniseries to cppcoro. cppcoro is a library of coroutine abstractions from Lewis Baker. Today, I introduce thread pools.
By Adrien Hamelin | May 6, 2020 11:39 AM | Tags: intermediate c++11
A solution to a problem.
Using weak_ptr for circular references
by Hitesh Kumar
From the article:
std::weak_ptr or weak references can simplify circular references or can even eliminate them...
By James | May 4, 2020 11:24 AM | Tags: None
CppDepend allows architects and developers to analyze C and C++ code base, automate code reviews, and facilitate refactoring and migration.
CppDepend v2020.1
by CppDepend
About the release
CppDepend’s Dependency Graph feature has been rebuilt from scratch. And, thanks to several innovations, it is now a unique and differentiated tool for exploring and navigating code bases. Feature highlights include:
- Optimized to work on very large codebases: For example, now the graph can be used to navigate in a very large project in real-time.
- New graph navigation bar: expand/collapse parent nodes; focus on entangled code; generate call graphs, coupling graphs, inheritance graphs, and more.
- New dependency graph layout option: group by project, namespace, or class with new color conventions and new filters.
- Complex graphs are simplified with Clusters: cluster nodes can be automatically introduced to make large and complex graphs readable.
- Search in graphs: Interesting graphs can be quickly obtained by searching elements by name and pruning un-matched elements.
- Export graphs to SVG vector format
- Dependency Graph presentation in reports has been improved: thanks to clusters feature.
- Smart Graph Persistence: A list of actions can be persisted to obtain a graph that remains in-sync through code changes.
Also, CppDepend 2020.1 includes:
- CppDepend on Linux completely rebuilt: The Linux GUI is completely rebuilt to use the GTK framework for a better user experience.
- C/C++ plugin for SonarQube is now available on Linux
- CUDA Support: CppDepend fully supports the analysis of CUDA-based applications.
- Improved Physical structure analysis: When you create a new CppDepend project you have now the choice to use a logical view or a physical view.
- Source File Store Out Of The Box: Parsed source files are now zipped at analysis time.
- Bamboo and AppVeyor Integration: You can now integrate the CppDepend report to Bamboo and AppVeyor
- Numerous Bugs Fixes and Improvements
Click here to see a series of short GIF animations that illustrate these features and product improvements.Download and enjoy the new version of CppDepend now by clicking here.
By Klaus Iglberger | May 4, 2020 11:21 AM | Tags: None
Advanced C++ with Focus on Software Engineering, Stuttgart, 4 days
Advanced C++ with Focus on Software Engineering
by Klaus Iglberger
About the training
This advanced C++ training is a course on software design with the C++ programming language. The focus of the training are the essential C++ software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code. Additionally, the course gives insight into kernel development with C++. The course provides insight into different design strategies (object-oriented programming, functional programming, generic programming) and the philosophy of “Modern C++” and teaches guidelines to develop mature, robust, maintainable, and efficient C++ code.
Date: November 24-27, 2020
Location: HLRS Stuttgart, Nobelstr. 19
Instructor: Klaus Iglberger
For information about prerequisities, topics, and registration, please see https://www.hlrs.de/training/2020-11-24-cpp4/.
By Meeting C++ | May 3, 2020 05:49 AM | Tags: modules meetingcpp community c++20
This weekend two videos from Meeting C++ 2019 on Modules have been published:
Modules the beginner's guide - Daniela Engert
Modules are coming - Bryce Adelstein Lelbach