[FPR] Review of FPR starts Today: Sept 28 - Oct 7

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[FPR] Review of FPR starts Today: Sept 28 - Oct 7

Boost - Announce mailing list
The Boost formal review of the FPR (Flat Precise Reflection, ex Magic
Get, ex PODs Flat Reflection) takes place from September 28, 2020
to October 7, 2020.

The library is authored by Antony Polukhin, author of Boost.DLL,
Stacktrace, Type Index libraries.

Documentation: http://apolukhin.github.io/magic_get/
Source: https://github.com/apolukhin/magic_get

The library is meant for accessing structure elements by index and
providing other std::tuple like methods for user defined types without
any macro or boilerplate code.

The FPR documentation summarizes the out-of-the-box added
functionality for aggregate initializable structures:

 - comparison operators
 - heterogeneous comparators
 - hash
 - stream operators
 - access to members by index
 - member reflections
 - methods for cooperation with std::tuple
 - methods to visit each field of the structure

If the description isn't immediately obvious for you, here's a
motivating example:

// requires: C++14
#include <iostream>
#include <string>
#include "boost/pfr/precise.hpp"

struct some_person {
    std::string name;
    unsigned birth_year;
};

int main() {
    some_person val{"Edgar Allan Poe", 1809};

    std::cout << boost::pfr::get<0>(val)                // No macro!
        << " was born in " << boost::pfr::get<1>(val);  // Works with
any aggregate initializables!
}

Please provide in your review information you think is valuable to
understand your choice to ACCEPT or REJECT including FPR as a
Boost library. Please be explicit about your decision (ACCEPT or REJECT).

Some other questions you might want to consider answering:

  - What is your evaluation of the design?
  - What is your evaluation of the implementation?
  - What is your evaluation of the documentation?
  - What is your evaluation of the potential usefulness of the library?
  - Did you try to use the library? With which compiler(s)? Did you
    have any problems?
  - How much effort did you put into your evaluation? A glance? A quick
    reading? In-depth study?
  - Are you knowledgeable about the problem domain?

More information about the Boost Formal Review Process can be found
at: http://www.boost.org/community/reviews.html

Thank you for your effort in the Boost community.

Benedek
- review manager of the FPR library
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-announce
Reply | Threaded
Open this post in threaded view
|

Re: [FPR] Review of FPR starts Today: Sept 28 - Oct 7

Boost - Announce mailing list
Looks good to me.   I spent 30 minutes reading the documentation and
trying a few examples.   Tuples and structs are meat and potatoes
types of things, and this library seems to be very well considered.
I vote ACCEPT.

On Mon, Sep 28, 2020 at 11:15 AM Benedek Thaler via Boost-announce
<[hidden email]> wrote:

>
> The Boost formal review of the FPR (Flat Precise Reflection, ex Magic
> Get, ex PODs Flat Reflection) takes place from September 28, 2020
> to October 7, 2020.
>
> The library is authored by Antony Polukhin, author of Boost.DLL,
> Stacktrace, Type Index libraries.
>
> Documentation: http://apolukhin.github.io/magic_get/
> Source: https://github.com/apolukhin/magic_get
>
> The library is meant for accessing structure elements by index and
> providing other std::tuple like methods for user defined types without
> any macro or boilerplate code.
>
> The FPR documentation summarizes the out-of-the-box added
> functionality for aggregate initializable structures:
>
>  - comparison operators
>  - heterogeneous comparators
>  - hash
>  - stream operators
>  - access to members by index
>  - member reflections
>  - methods for cooperation with std::tuple
>  - methods to visit each field of the structure
>
> If the description isn't immediately obvious for you, here's a
> motivating example:
>
> // requires: C++14
> #include <iostream>
> #include <string>
> #include "boost/pfr/precise.hpp"
>
> struct some_person {
>     std::string name;
>     unsigned birth_year;
> };
>
> int main() {
>     some_person val{"Edgar Allan Poe", 1809};
>
>     std::cout << boost::pfr::get<0>(val)                // No macro!
>         << " was born in " << boost::pfr::get<1>(val);  // Works with
> any aggregate initializables!
> }
>
> Please provide in your review information you think is valuable to
> understand your choice to ACCEPT or REJECT including FPR as a
> Boost library. Please be explicit about your decision (ACCEPT or REJECT).
>
> Some other questions you might want to consider answering:
>
>   - What is your evaluation of the design?
>   - What is your evaluation of the implementation?
>   - What is your evaluation of the documentation?
>   - What is your evaluation of the potential usefulness of the library?
>   - Did you try to use the library? With which compiler(s)? Did you
>     have any problems?
>   - How much effort did you put into your evaluation? A glance? A quick
>     reading? In-depth study?
>   - Are you knowledgeable about the problem domain?
>
> More information about the Boost Formal Review Process can be found
> at: http://www.boost.org/community/reviews.html
>
> Thank you for your effort in the Boost community.
>
> Benedek
> - review manager of the FPR library
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-announce
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-announce