Поддерживает ли библиотека ускорения реализацию безопасной идиомы bool, чтобы я мог извлечь из нее свой класс?Безопасная идиома bool в boost?
Если да, то где это?
Если нет - каковы мои альтернативы, кроме его реализации?
Я нашел следующий подобный вопрос: «Is there a safe bool idiom helper in boost?» и принятый ответ предполагает использование bool_testable<>
в Boost.Operators.
К сожалению, когда я проверил boost manual, я не смог его найти. Код, использующий его, также не может скомпилироваться.
Я также наткнулся на другой вопрос «Was boost::bool_testable<> relocated or removed?», и комментарий там говорит о том, что bool_testable
на самом деле никогда не делал никакой версии релиза.
Существует также интересный article by Bjorn Karlsson по теме, который содержит код, который может быть скопирован в мой проект. Однако я надеюсь, что есть общепринятая и поддерживаемая библиотека утилиты (например, boost), которая уже реализует это.
По соображениям совместимости, я не хочу полагаться на C++ 11.
Рассматривали ли вы решение проблемы, неявно преобразовывая ее в 'bool'? –
На странице 3 этой статьи есть возможность повторного использования Safe Bool: http://www.artima.com/cppsource/safebool.html –
Спасибо. Я не упоминал об этом, но я видел это, и я мог бы скопировать этот код, но я надеялся, что уже принятая и общепринятая и поддерживаемая утилитарная библиотека (в первую очередь, в первую очередь). – CygnusX1