Dienstag, 16. Juni 2020

July Talk: Rainer Grimm "Concepts in C++20: An Evolution or a Revolution"

Hello to all C++ followers,

For July we will have online meetup together with C++ Usergroup Karlsruhe.
Rainer Grimm will give us his introduction to C++20 Concepts.
Photo of Rainer Grimm
Teaser
The key idea of generic programming with templates is it to define functions and classes which can be used with various types. Often it happens that you instantiate a template with the wrong type. The result is typically a few pages of cryptic error messages. This sad story ends with concepts. Concepts empower you to write requirements for your templates which can be checked by the compiler. Concepts revolutionize the way we think about and write generic code. 
Here is why:
  • Requirements for templates are part of the interface.
  • The overloading of functions or specialization of class templates can be based on concepts.
  • We get improved error messages because the compiler compares the requirements of the template parameter with the actual template arguments.
However, this is not the end of the story:
  • You can use predefined concepts or define your own.
  • The usage of auto and concepts is unified. Instead of auto, you can use a concept.
  • If a function declaration uses a concept, it automatically becomes a function template. 
Writing function templates is, therefore, as easy as writing a function.
We will use Goto Meeting for our remote meetup. You will get the chance to ask your questions directly through chat or voice.

Date: Thursday, 9. July 2020
Start: 19:30
End: 22:00
Place: Goto Meeting (The URL will be here just before the meeting!)

We are looking for more talk submissions!

Cheers!
Andreas

Montag, 18. Mai 2020

June Talk: Hendrik Niemeyer "Intro to C++20's Concepts"

Hello to all C++ enthusiasts,

Hendrik will use the opportunity to join our usergroup virtually and give us his introduction to concepts in C++20.
Teaser
One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.
This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts)
We will use Goto Meeting for our remote meetup. You will get the chance to ask your questions directly through chat or voice.

Date: Thursday, 11. June 2020
Start: 19:00
End: 22:00
Place: Goto Meeting (The recording on Youtube: https://youtu.be/rROoYqDr2KM)

Please join before 19 o'clock. As we will start on time.

Cheers!
Andreas

Montag, 27. April 2020

May Talk: Andreas Reischuck "Faster ►► C++ Meta-Programming"

Hello C++ Friends,

As we still cannot meet in person, we do another online meetup for May.
I will talk to you about faster meta programming with C++.
Please propose your talk for future possibly online meetups.
Teaser
When we embraced meta programming in our application code we noticed a hit in compile times.
This started an ongoing journey to mitigate the negative effects, but retain the positives.
During this talk I will introduce the some motivations to run meta programming.
We will look at some compile time benchmark of basic meta programming constructs and discuss ideas to make them faster. With this foundation we take a look at real world use cases, like templated data containers. Hopefully we learn a lot and can make your code compile a bit faster.
We will use Goto Meeting again. You will get the chance to ask your questions directly through chat or voice.

Date: Wednesday, 13. May 2020
Start: 19:00
End: 22:00
Online: Goto Meeting

Please join before 19:00, so we can start on time.

Cheers!
Andreas

PS.: We are looking for a talk in June!

Photo Credits:
* "fast" by Derren Hodson (modified: added text) - CC-BY https://flic.kr/p/21TsL2g