Re: [boost] [Boost-announce] [review][constrained_value] Review of Constrained Value Library begins today

On Dec 1, 2008, at 7:59 AM, Jeff Garland wrote:
The review of the Robert Kawulak's Constrained Value library begins today December 1, 2008, and will end on December 10th -- I will be the review manager. Please post reviews to the developer list.
Here's the library synopsis:
The Boost Constrained Value library contains class templates useful for creating constrained objects. A simple example is an object representing an hour of a day, for which only integers from the range [0, 23] are valid values.
bounded_int<int, 0, 23>::type hour; hour = 20; // OK hour = 26; // exception!
Behavior in case of assignment of an invalid value can be customized. The library has a policy-based design to allow for flexibility in defining constraints and behavior in case of assignment of invalid values. Policies may be configured at compile- time for maximum efficiency or may be changeable at runtime if such dynamic functionality is needed.
The library can be downloaded from the here: http://rk.go.pl/f/constrained_value.zip
The documentation is also available online here: http://rk.go.pl/r/constrained_value
---------------------------------------------------
Please state in your review, whether you think the library should be accepted as a Boost library. Additionally, please consider the following aspects in your review of the library:
Yes, please accept it.
- What is your evaluation of the design?
It's OK.
- What is your evaluation of the implementation?
Fine. I liked the attempts to minimize extra space per object. I didn't like that there were neither tests nor conventional examples. The file where the Quickbook docs took its code examples was the only *.cpp file provided. Fortunately, it's (intentionally) compilable.
- What is your evaluation of the documentation?
It's extensive, both the usage (Quickbook) and code (Doxygen) guides. On the usage guide, I don't think the tutorial's "ignore" type does what you think it does.
- What is your evaluation of the potential usefulness of the library?
I find restrained types to be useful.
- Did you try to use the library? With what compiler? Did you have any problems?
Yes, with Mac OS X 10.4 (PowerPC) using XCode. No problems.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A day of reading and trying out the examples.
- Are you knowledgeable about the problem domain?
Somewhat -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com

Hi Daryle,
From: Daryle Walker
On the usage guide, I don't think the tutorial's "ignore" type does what you think it does.
Could you please elaborate on this?
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A day of reading and trying out the examples.
Thanks for your review. Best regards, Robert

On Dec 9, 2008, at 8:48 PM, Robert Kawulak wrote:
From: Daryle Walker
On the usage guide, I don't think the tutorial's "ignore" type does what you think it does.
Could you please elaborate on this? [TRUNCATE]
The "ignore" type's member function template seems to throw an exception upon detecting a violation, i.e. the default behavior. But isn't the point of this type to do nothing on violations? (Too much copy & paste?) -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com

From: Daryle Walker
On the usage guide, I don't think the tutorial's "ignore" type does what you think it does.
Could you please elaborate on this? [TRUNCATE]
The "ignore" type's member function template seems to throw an exception upon detecting a violation, i.e. the default behavior. But isn't the point of this type to do nothing on violations? (Too much copy & paste?)
The example is correct. Please read the explanation accompanying the example. ;-) Best regards, Robert
participants (2)
-
Daryle Walker
-
Robert Kawulak