Subject: Re: [boost] [multimethods] Proposal: Open Multi-Methods
From: Daryle Walker (darylew_at_[hidden])
Date: 2013-07-31 02:02:27
From: Jean-Louis Leroy
Sent: âSaturdayâ, âJulyâ â27â, â2013 â8â:â26â âPM
I am working on library that pretty much implements what Pirkelbauer,
Solodkyy and Stroustrup describe in their paper "Open Multi-Methods for
C++" - although there are some divergences. I have posted it on
GitHub: https://github.com/jll63/multimethods. Please examine the
files in the "examples" directory to get an idea of how to use it.
The library is essentially feature complete (if anything ever is). I am
now going to
work on the documentation, a build system, some clean up and compatibility
(I tested it only with g++ 4.7.2 only so far).
Is there interest in the Boost community for this stuff? If yes, I
will adapt it to the guidelines and submit it for formal review. Of
course, suggestions are welcome.
Are virtual base classes supported?
Maybe âvirtual_â should be renamed to âvirtualizeâ or âvirtualized,â to avoid having a trailing underscore in a non-member name.
A good way to document is to write a Doxygen comment as you write your class, function, or macro prototype. It makes you have to think about what the public side of your code has to do. But looking at your ânext.cppâ example, you should start with documenting the âselector,â âvirtual_,â âMM_CLASS,â âMM_INIT,â âMULTIMETHOD,â âBEGIN_METHOD,â âEND_METHOD,â and âinitializeâ items. Anything in your implementation classes that donât have to be seen by public code can be make private. Non-public types can go in a detail namespace.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk