From: Küppers, Ben (ben.kuppers_at_[hidden])
Date: 2007-08-19 16:17:23
I haven't participated in a boost review before, but I feel I have enough experience with this topic to throw in my two cents. I have worked with scope guard (or scope guard like) objects for the last 7 years and have very recently started replacing our custom implementation with the internal version found in the boost multi index container library (due to the lack of an official one). I consider the scope guard to be a well-known and well-documented idiom and I fail to see what the ScopeExit library adds to it (or fail to be convinced by the arguments made in the alternative section of the help).
Most programmers have by now come across some implementation of this idiom and are familiar with the RAII techniques that give the guard its clever functionality. Specifically because of this, I think it would be foolish to accept an implementation into boost that differs from everything that has been published out there. Rolling this functionality into a macro that makes the C++ syntax similar to D seems rather pointless and only contributes to a very unnatural C++ syntax. As far as I am concerned, macros should be avoided at all times unless there are no good alternatives and in this case, I think there are. I truly appreciate the attempt to (finally officially) add this functionality into boost but I would much rather see a plain scope guard implementation (with or without a macro for unnamed instances) up for review. I vote against this library.
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk