May 2019

Text Formatting for a future range based standard library—Arno Schödl

Some sessions from the recent using std::cpp are now online.

Text Formatting for a future range based standard library 

by Arno Schödl

About the session:

In this talk, I want to convince you that the combination of ranges with a bit of metaprogramming makes for a very elegant solution to the text formatting problem. We introduce a form of ranges with internal iteration, which are generating their elements one by one rather than exposing external iterators. We can use these generator ranges to represent the values to be formatted, conceptually turning them into lazily evaluated strings. These can be used just like regular strings are used today: in function returns; as standard algorithm input; embedded into other, equally lazily evaluated strings; and so on, before they are finally expanded for display.

Dr. Arno Schödl (Think-Cell) is the Co-Founder and Technical Director of think-cell Software GmbH. Arno is responsible for the design, architecture and development of all our software products. He oversees think-cell's R&D team, Quality Assurance and Customer Care. Before founding think-cell, Arno worked at Microsoft Research and McKinsey & Company. Arno studied computer science and management and holds a Ph.D. from the Georgia Institute of Technology with a specialization on Computer Graphics.

 

Let’s make easy to use libraries—Martin Knoblauch

Some sessions from the recent using std::cpp are now online.

Let’s make easy to use libraries

by Martin Knoblauch

About the session

We often use libraries with annoying, error prone interfaces. The main cause is the potential incompatibility between the library and the program using it, due to being compiled with different compiler versions or settings. Another well known issue is the usage of separated heaps by the program and the library in Windows. These problems can be solved (at a very high cost!) by using pure C interfaces and/or the Hourglass Pattern. In this talk I propose designing interfaces using a selected set of C++ features that should be very unlikely to cause ABI incompatibilities. I will focus on the usage of std::unique_ptr with custom deleters to manage the lifetime of objects passed through the library interface, thus making life easier for both the library implementor and the library user. Needless to say, a full Hourglass Pattern interface can also benefit from using std::unique_ptr.

Martin Knoblauch (Indizen). Fiddling with computers since the mid 80's, passionate about C++ since the 90's, C and C++ lecturer in the 00's. At Indizen since 2014. Member of the Spanish C++ Standards Committee.

 

 

Trip report from using std::cpp 2019 in Madrid—Daniel Garcia

On March, 7th, we had the sixth edition of using std::cpp (the C++ conference in Spain). The conference was again a on-day free event, and as every other year it was hosted at the Higher Polytechnic School of University Carlos III of Madrid in Leganés.

Trip report from using std::cpp 2019 in Madrid

by Daniel Garcia

About the article

As many other years roughly 200 participants attended the conference. Most of the attendees were coming from industry.

This trip report contains some statistics from the evaluation forms at the conference including standards adoption and compilers usage.

 

 

Report from using std::cpp 2019

The statitistics.

Report from using std::cpp 2019

From the article:

On March, 7th, we had the sixth edition of using std::cpp (the C++ conference in Spain). The conference was again a on-day free event, and as every other year it was hosted at the Higher Polytechnic School of University Carlos III of Madrid in Leganés.

As many other years roughly 200 participants attended the conference. Most of the attendees were coming from industry...

C++17 STL Parallel Algorithms - with GCC 9.1 and Intel TBB on Linux and macOS—Paul Silisteanu

It's coming!

C++17 STL Parallel Algorithms - with GCC 9.1 and Intel TBB on Linux and macOS

by Paul Silisteanu

From the article:

GCC 9.1 has support for C++17 parallel algorithms by using the Intel TBB library. In this article, I will show you how to build Intel TBB from sources on your machine and how to sort a vector of random numbers in parallel using C++17 std::sort...

ACCU 2019 Autumn Conference - Call for Proposals Open—ACCU

The Call for Proposals for the ACCU Autumn 2019 Conference to be held 2019-11-11 to 2019-11-12 at Hilton Hotel in Belfast is now open.

Call for Proposals

by ACCU

About the conference:

The call for proposals is open until 2019-05-25.

This conference abuts the WG21 committee meeting so expect lots of C++ folk to be around.

CppCast Episode 198: Mutation Testing with Mull with Alex Denisov

Episode 198 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Alex Denisov to discuss Mutation Testing and the clang based tool Mull.

CppCast Episode 198: Mutation Testing with Mull with Alex Denisov

by Rob Irving and Jason Turner

About the interviewee:

Alex is a Software Engineer who is working at PTScientists GmbH, a German aerospace startup that is planning to land a spacecraft on the Moon. After work, he is organizing LLVM Social in Berlin and researching the topic of mutation testing. He is generally interested in developer tools, low-level development, and software hardening.

ACCU Trip report—Kate Gregory

Sweet and short.

ACCU Trip report

by Kate Gregory

From the article:

In early April I was lucky enough to go to Bristol in the UK for the annual ACCU conference. This has been an aspirational conference for me, one I attended before speaking at and am always delighted to attend. This year I was invited to keynote, and it turned out to be the closing keynote, which meant I was not done with all my talks until the conference was over! Nevertheless I enjoyed the week tremendously...

GCC 9.1 Released

Check it out.

GCC 9.1 Released

From the article:

In this release C++17 support is no longer marked experimental. The C++ front-end implements the full C++17 language (already previous GCC major version implemented that) and the C++ standard library support is almost complete. The C++ front-end and library also have numerous further C++2a draft features. GCC has a new front-end for the D language. GCC 9.1 has newly partial OpenMP 5.0 support and almost complete OpenACC 2.5 support...

Curried Objects in C++—Jonathan Boccara

Abstraction to the rescue.

Curried Objects in C++

by Jonathan Boccara

From the article:

Curried objects are like facilitators. They consist in intermediary objects between a caller and a callee, and helps them talk to each other in a smooth way. This ability makes the code simpler and easier to read...