An advanced portable C++ library of over 80 boolean-like macros that hold an analysis if the condition fails, to help debugging, so a developer knows exactly what goes wrong. Allows reuse in adapted ASSERT macros. Needs STL or wxWidgets.
Be the first to post a text review of Rich Booleans. Rate and review a project by clicking thumbs up or thumbs down in the right column.
* There are now Rich Boolean objects IsSubsetOf, IsMultiSubsetOf and IsOrderedSubsetOf that can be used in Rich Boolean macros and functors that work on two ranges, and check whether the first range is a subset of the second range. They have optimized versions IsSubsetOfSorted, IsMultiSubsetOfSorted and IsOrderedSubsetOfSorted that can be used if the second range is sorted. The Rich Boolean factories MatchesSubsetOf, MatchesMultiSubsetOf, MatchesOrderedSubsetOf, IsSubsetOfCustomSorted, IsMultiSubsetOfCustomSorted and IsOrderedSubsetOfCustomSorted are generalizations of these. * The Rich Boolean AllUnique checks whether all elements in a range are unique. The Rich Boolean factory AllPairs is a generalization of this. * The macros rbIN_ARRAY_RANGE, rbIN_ARRAY_CONTAINER, rbIN_RANGE_CONTAINER, rbIN_CONTAINER_RANGE, rbIN_ARRAY_XCONTAINER, rbIN_RANGE_XCONTAINER and rbIN_XCONTAINER_RANGE are added * The macros rbLESS_REL_NEAR, rbMORE_REL_NEAR and rbDIFF_REL_NEAR are added * The Rich Booleans rbDOESNT_EXIST, rbFILE_EXISTS and rbDIRECTORY_EXISTS check whether a file or directory exists or not. The Rich Booleans rbFILE and rbDIRECTORY check whether a file or directory exists and has certain properties. * Rich Boolean objects can be negated with the unary operator ! * Macros for making Rich Boolean functor classes from Rich Boolean functor core classes of which the constructor takes an argument, have been added. * A dash is added before the state of an analysis when it is streamed out, e.g. '- ok' instead of 'ok'
* There are now Rich Boolean objects IsSubsetOf, IsMultiSubsetOf and IsOrderedSubsetOf that can be used in Rich Boolean macros and functors that work on two ranges, and check whether the first range is a subset of the second range. They have optimized versions IsSubsetOfSorted, IsMultiSubsetOfSorted and IsOrderedSubsetOfSorted that can be used if the second range is sorted. The Rich Boolean factories MatchesSubsetOf, MatchesMultiSubsetOf, MatchesOrderedSubsetOf, IsSubsetOfCustomSorted, IsMultiSubsetOfCustomSorted and IsOrderedSubsetOfCustomSorted are generalizations of these. * The Rich Boolean AllUnique checks whether all elements in a range are unique. The Rich Boolean factory AllPairs is a generalization of this. * The macros rbIN_ARRAY_RANGE, rbIN_ARRAY_CONTAINER, rbIN_RANGE_CONTAINER, rbIN_CONTAINER_RANGE, rbIN_ARRAY_XCONTAINER, rbIN_RANGE_XCONTAINER and rbIN_XCONTAINER_RANGE are added * The macros rbLESS_REL_NEAR, rbMORE_REL_NEAR and rbDIFF_REL_NEAR are added * The Rich Booleans rbDOESNT_EXIST, rbFILE_EXISTS and rbDIRECTORY_EXISTS check whether a file or directory exists or not. The Rich Booleans rbFILE and rbDIRECTORY check whether a file or directory exists and has certain properties. * Rich Boolean objects can be negated with the unary operator ! * Macros for making Rich Boolean functor classes from Rich Boolean functor core classes of which the constructor takes an argument, have been added. * A dash is added before the state of an analysis when it is streamed out, e.g. '- ok' instead of 'ok'
* There are now Rich Boolean objects IsSubsetOf, IsMultiSubsetOf and IsOrderedSubsetOf that can be used in Rich Boolean macros and functors that work on two ranges, and check whether the first range is a subset of the second range. They have optimized versions IsSubsetOfSorted, IsMultiSubsetOfSorted and IsOrderedSubsetOfSorted that can be used if the second range is sorted. The Rich Boolean factories MatchesSubsetOf, MatchesMultiSubsetOf, MatchesOrderedSubsetOf, IsSubsetOfCustomSorted, IsMultiSubsetOfCustomSorted and IsOrderedSubsetOfCustomSorted are generalizations of these. * The Rich Boolean AllUnique checks whether all elements in a range are unique. The Rich Boolean factory AllPairs is a generalization of this. * The macros rbIN_ARRAY_RANGE, rbIN_ARRAY_CONTAINER, rbIN_RANGE_CONTAINER, rbIN_CONTAINER_RANGE, rbIN_ARRAY_XCONTAINER, rbIN_RANGE_XCONTAINER and rbIN_XCONTAINER_RANGE are added * The macros rbLESS_REL_NEAR, rbMORE_REL_NEAR and rbDIFF_REL_NEAR are added * The Rich Booleans rbDOESNT_EXIST, rbFILE_EXISTS and rbDIRECTORY_EXISTS check whether a file or directory exists or not. The Rich Booleans rbFILE and rbDIRECTORY check whether a file or directory exists and has certain properties. * Rich Boolean objects can be negated with the unary operator ! * Macros for making Rich Boolean functor classes from Rich Boolean functor core classes of which the constructor takes an argument, have been added. * A dash is added before the state of an analysis when it is streamed out, e.g. '- ok' instead of 'ok'
* There are now Rich Boolean objects IsSubsetOf, IsMultiSubsetOf and IsOrderedSubsetOf that can be used in Rich Boolean macros and functors that work on two ranges, and check whether the first range is a subset of the second range. They have optimized versions IsSubsetOfSorted, IsMultiSubsetOfSorted and IsOrderedSubsetOfSorted that can be used if the second range is sorted. The Rich Boolean factories MatchesSubsetOf, MatchesMultiSubsetOf, MatchesOrderedSubsetOf, IsSubsetOfCustomSorted, IsMultiSubsetOfCustomSorted and IsOrderedSubsetOfCustomSorted are generalizations of these. * The Rich Boolean AllUnique checks whether all elements in a range are unique. The Rich Boolean factory AllPairs is a generalization of this. * The macros rbIN_ARRAY_RANGE, rbIN_ARRAY_CONTAINER, rbIN_RANGE_CONTAINER, rbIN_CONTAINER_RANGE, rbIN_ARRAY_XCONTAINER, rbIN_RANGE_XCONTAINER and rbIN_XCONTAINER_RANGE are added * The macros rbLESS_REL_NEAR, rbMORE_REL_NEAR and rbDIFF_REL_NEAR are added * The Rich Booleans rbDOESNT_EXIST, rbFILE_EXISTS and rbDIRECTORY_EXISTS check whether a file or directory exists or not. The Rich Booleans rbFILE and rbDIRECTORY check whether a file or directory exists and has certain properties. * Rich Boolean objects can be negated with the unary operator ! * Macros for making Rich Boolean functor classes from Rich Boolean functor core classes of which the constructor takes an argument, have been added. * A dash is added before the state of an analysis when it is streamed out, e.g. '- ok' instead of 'ok'
The documentation is updated to inform about a common compile error if you use Unicode with WxWidgets (which is not yet supported), and a comment is added where the compile error occurs.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?