Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2021-02-23 18:56:22


This is a reminder that my library Describe

    https://github.com/pdimov/describe
    https://pdimov.github.io/describe/doc/html/describe.html

needs a review manager.

Describe is a library that allows programmers to annotate their classes (and
enumerations) in order to enable simple reflection. It provides a very
important fundament on which other libraries can build upon to provide
automatic support for user-defined types.

For example, given an annotated type, Boost.JSON can automatically provide
conversions from/to json::value. Boost.ContainerHash can automatically
provide a hash function hash_value for the type. Boost.Serialization can
automatically provide serialization support. See the examples:

https://pdimov.github.io/describe/doc/html/describe.html#example_to_json
https://pdimov.github.io/describe/doc/html/describe.html#example_from_json
https://pdimov.github.io/describe/doc/html/describe.html#example_serialization

Other JSON (and serialization) libraries already offer a similar mechanism,
e.g. https://github.com/nlohmann/json#arbitrary-types-conversions. But since
each library has its own private way to annotate types, a programmer needs
to repeat the type annotations for every library he wants his type to be
known to. This is unnecessary and undesirable, and a standard mechanism to
describe types avoids it.

Describe is intended to be this standard mechanism, and I believe that we
need it in Boost sooner rather than later.

Thanks in advance to whoever volunteers.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk