Search code examples
c++boostsafe-bool-idiom

Is there a safe bool idiom helper in boost?


25% of programmers work time is spended by checking if the required code already exist.

I'm searching for a base class for implementing the safe bool idiom.


Solution

  • bool_testable<> in Boost.Operators looks promising.

    The reference mentions that:

    bool_testable provides the antithesis of operator bool, such that the expression if (!p) is valid, whilst also making operator bool safer by preventing accidental conversions to integer types. ... bool_testable<> prevents these accidental conversions by declaring a private conversion operator to signed char, and not defining the body.