Basic dependent typing -- Krzysztof Ostrowski

Using fundamental types to do "simple things simple" fits very well in the most of cases.

Basic dependent typing

by Krzysztof Ostrowski

From the article:

If we assume that our application uses only a subset of values carried by given fundamental type, we are likely to get warning from the compiler. We shall take that warning seriously. How to inform type system about our assumptions? Example solutions follow.

CppCast Episode 80: Backtrace with Abel Mathew

Episode 80 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Abel Mathew, Co-Founder and CEO of Backtrace I/O, to talk about the debugging platform and its features for C++ developers.

CppCast Episode 80: Backtrace with Abel Mathew

by Rob Irving and Jason Turner

About the interviewee:

Abel Mathew is the co-founder and CEO of Backtrace I/O. Prior to Backtrace, Abel was a Head of Engineering at AppNexus where he led a team of developers to improve ad optimization and reduce platform-wide costs. He spent multiple years as a developer and a team lead on AppNexus’ Adserver Team where he helped design and implement their low-latency advertising platform. Before AppNexus, Abel was a kernel module and tools developer at IBM and a server room monkey at AMD.

C++ User Group Meetings in December

The monthly list of upcoming C++ User Group meetings:

C++ User Group meetings in December

by Jens Weller

From the article:

In total its already 30 groups which are meeting, also there are 10 new groups since the last posting:

Minsk, London, Melbourne, Karlsruhe, Ulm (Qt), San Diego, Belgrade, Luxembourg, Dallas FW, Plano.

How to use PVS-Studio for free

We want to help the software world improve the quality of their code, and get to know static analysis tools better. We are giving the opportunity to use PVS-Studio static code analyzer for free, for educational purposes, so that individual developers and enthusiastic teams could also fully use it.

How to use PVS-Studio for free

by Andrey Karpov

From the article:

Some developers may say that they don't want to see two additional lines of code at the beginning of the file with the comments not related to the project itself. It is their right, and they may simply not use the tool. Or they can purchase a commercial license, and use it without any restrictions. We see these comments as a gratuity for the provided license, and also as an additional way to promote our product. I think it's a good, fair exchange.

The One-Definition Rule--Andrzej Krzemieński

Something we should be aware of:

The One-Definition Rule

by Andrzej Krzemieński

From the article:

We have been hit by the same bug twice already this year. It ends in a crash, and it took developers days to find it (in each case), even though it is reproducible on each run of unit tests. The code, after significant simplifications, looks like this:

namespace tests
{
  struct Fixture
  {
    std::vector<int> v1;
    std::vector<int> v2;

    static Fixture create();
  };

  TEST_CASE(test1)
  {
    auto fixture = Fixture::create();
    std::cout << "running test1";
  }
}

Trip Report: C++ Standards Meeting in Issaquah, November 2016--Botond Ballo

C++17 makes a new step.

Trip Report: C++ Standards Meeting in Issaquah, November 2016

by Botond Ballo

From the article:

Last week I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Issaquah, Washington (near Seattle). This was the third and final committee meeting in 2016; you can find my reports on previous meetings here (February 2016, Jacksonville) and here (June 2016, Oulu), and earlier ones linked from those. These reports, particularly the Oulu one, provide useful context for this post...

Why you should use Boost.MultiIndex (Part II)--David Gross

The series continue:

Why you should use Boost.MultiIndex (Part II)

by David Gross

From the article:

A few weeks ago, I posted the first part of this article, where I explained the advantages of Boost.MultiIndex over the standard containers when you need to have multiple views on a set of data.

In this second part, I would like to talk about the benefits you can get from using Boost.MultiIndex as a single-index hash table, as a replacement of std::unordered_map.

One interesting and powerful aspect of Boost.MultiIndex is that it allows you to add an index of type T, where T is different from the stored type. And it is more frequent and useful that you could think.