January 2017

CppCast Episode 86: Beast with Vinnie Falco

Episode 86 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Vinnie Falco to talk about the Beast HTTP and Web Sockets library.

CppCast Episode 86: Beast with Vinnie Falco

by Rob Irving and Jason Turner

About the interviewee:

Vinnie Falco started programming on an Apple II+ in 1982. He did significant work on Canvas, an early 1990s desktop publishing program that starting on the Macintosh. A while later he wrote BearShare - a Gnutella compatible file sharing program. After that Vinnie joined up with Ripple, a company that is developing a global financial settlement network built on top of a decentralized cryptocurrency and its associated ledger. Ripple has graciously given him the opportunity to develop and publish Beast, the HTTP and WebSocket library written in C++ and used in Ripple.

Pros and Cons of Alternative Function Syntax in C++--Petr Zemek

Do you know the trailing return type?

Pros and Cons of Alternative Function Syntax in C++

by Petr Zemek

From the article:

C++11 introduced an alternative syntax for writing function declarations. Instead of putting the return type before the name of the function (e.g. int func()), the new syntax allows us to write it after the parameters (e.g. auto func() -> int). This leads to a couple of questions: Why was such an alternative syntax added? Is it meant to be a replacement for the original syntax? To help you with these questions, the present blog post tries to summarize the advantages and disadvantages of this newly added syntax...

Ranges: the STL to the Next Level--Jonathan Boccara

Ranges are coming!

Ranges: the STL to the Next Level

by Jonathan Boccara

From the article:

The C++ Standard Template Library (STL) is a fantastic tool for making code more correct and expressive. It is mainly composed of two parts:

  • The containers, such as std::vector or std::map for instance,
  • The algorithms, a fairly large collection of generic functions that operate amongst others on containers. They are mostly found under the algorithm header.

CppCast Episode 85: Library Working Group and libc++ with Marshall Clow

Episode 85 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Marshall Clow to talk about his role on the C++ Standards Committee's Library Working Group, libc++, constexpr-ing all the things and more.

CppCast Episode 85: Library Working Group and libc++ with Marshall Clow

by Rob Irving and Jason Turner

About the interviewee:

Marshall is a long-time LLVM and Boost participant. He is a principal engineer at Qualcomm, Inc. in San Diego, and the code owner for libc++, the LLVM standard library implementation. He is also the chairman of the Library Working Group of the C++ standards committee. He is the author of the Boost.Algorithm library and maintains several other Boost libraries.

Alternative to select-many bitmask -- Krzysztof Ostrowski

Classic interfaces that use bitmask to select many properties at once can be hard to use and very easy to break.

Alternative to select-many bitmask

by Krzysztof Ostrowski

From the article:

Suppose we have an interface that returns some value depending on combination of other values, and we would like get resource of some type R that is common for Alice and Bob. Here is our interface:

R query(std::uint32_t bitmask);

First question arises quickly: what to put into bitmask? There are plenty of values of type uint32_t!

Multiple possible ways to fix our interface and make it much easier to use exist. We will consider three of them.