Boost logo

Boost :

From: Дмитрий Архипов (grisumbras_at_[hidden])
Date: 2025-04-27 13:15:06


Dear Boost community. The peer review of the proposed Boost.OpenMethod will
start on 28th of April and continue until May 7th. OpenMethods implements open
methods in C++. Those are "virtual functions" defined outside of classes. They
allow avoiding god classes, and visitors and provide a solution to the
Expression Problem, and the banana-gorilla-jungle problem. They also support
multiple dispatch. This library implements most of Stroustrup's multimethods
proposal, with some new features, like customization points and
inter-operability with smart pointers. And despite all that open-method calls
are fast - on par with native virtual functions.

You can find the source code of the library at
https://github.com/jll63/Boost.OpenMethod/tree/master and read the
documentation at https://jll63.github.io/Boost.OpenMethod/. The library is
header-only and thus it is fairly easy to try it out. In addition, Christian
Mazakas (of the C++ Alliance) has added the candidate library to his vcpkg
repository (https://github.com/cmazakas/vcpkg-registry-test). The library is
also available in Compiler Explorer under the name YOMM2.

As the library is not domain-specific, everyone is very welcome to contribute a
review either by sending it to the Boost mailing list, or me personally. In
your review please state whether you recommend to reject or accept the library
into Boost, and whether you suggest any conditions for acceptance. Other
questions you might want to answer in your review are:

* 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 what compiler? 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 problems tackled by the library?

Thanks in advance for your time and effort!

Dmitry Arkhipov, Staff Engineer at The C++ Alliance.


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