
Hello John, thank you for submitting your review, John Reid ha escrito:
* What is your evaluation of the design? Very good. It seems everything is configurable if needed and works as expected out of the box.
Perhaps intermodule_holder should be the default holder specifier as there is an unpleasant potential gotcha otherwise? The docs do not state why not as far as I can see. An efficiency issue perhaps?
intermodule_holder performs a way more expensive static initialization process than static_holder (basically, it creates a shared memory area and interprocess mutex for communication between the different modules of the program. It only affects static initialization, though, the rest of operations (flyweight creation and passing around) are exactly the same as with static_holder. Another reason for not including this is that Boost.Interprocess (on which intermodule_holder depends) is not universally supported, so making intermodule_holder the default would complicate things for some compilers.
* What is your evaluation of the documentation? Extremely clearly written and well thought out. I would like to see more explanation of the examples. I like the inclusion of the test code.
Any particular example you wished you had more info about? I can try to improve that if you point me to the improvable parts. Best regards, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo