
On Wed, Jun 18, 2008 at 1:33 PM, Youssef Oujamaa <youssef.oujamaa@gmail.com> wrote:
My mentor and I are working on a safe variable template class this summer in the spirit of the GSOC even though we where not selected to get any funds for it. We would like to know what our fellow boost/c++ developers would like to see in a safe variable template class and what not, you can see what we are aiming for in the document bellow.
Hi Youssef, Kudos on your decision! I briefly looked at your proposal and it seems like a useful project. I have a few comments for you: * SafeVariable seems like a good name for the library (or maybe even SafeValue?), but for the class template itself why not just 'safe'? So you have safe<int>, safe<double>, etc... * I really like that you're making both static and dynamic versions. * boost programming guidelines say to avoid exception specifications in code (http://www.boost.org/development/requirements.html#Exception-specification), but I'm not familiar with the specifics of exception specification, and maybe in your case it doesn't hurt. * The operators lib might be useful to you (http://www.boost.org/doc/libs/1_35_0/libs/utility/operators.htm) - you might know this already * returning things by value (e.g., from min and max) might be OK for types like int and double, but for more heavy class types you may want to return by const & . Except for the static version, where I guess you have to return by value (or by && in C++0x). The call traits library might have something to help give you the right return type for the dynamic version. * is there / should there be any overlap between a safe value and a bounded value library (e.g., when you want the value to wrap on overflow etc.)? I noticed you allow customization of overflow behavior so maybe this is something you have in mind? Best, Stjepan