From: Peter Dimov (pdimov_at_[hidden])
Date: 2020-10-06 11:29:25


Andrzej Krzemienski wrote:

> 3. The library buds on a basic concept of "Base-less aggregate".

That's not really true though, is it? E.g.

#include <boost/pfr.hpp>
#include <string>
#include <iostream>

struct X
{
    std::string a;
};

struct Y
{
    std::string b;
};

struct Z: X, Y
{
    std::string c;
};

int main()
{
    std::cout << boost::pfr::tuple_size_v<Z> << std::endl;
}

compiles and prints "3". Bases are treated as members by the precise API.