¿La biblioteca de impulso proporciona una implementación de una expresión idiomática segura, para poder derivar mi clase de ella?idioma booleano seguro en impulso?
En caso afirmativo, ¿dónde está?
Si no, ¿cuáles son mis alternativas más allá de implementarlo yo mismo?
encontré la siguiente pregunta similar: "Is there a safe bool idiom helper in boost?" y la respuesta aceptada sugiere el uso de bool_testable<>
en Boost.Operators.
Desafortunadamente, cuando revisé el boost manual no pude encontrarlo allí. El código que lo usa no compila también.
También tropecé con otra pregunta SO "Was boost::bool_testable<> relocated or removed?" y el comentario sugiere que el bool_testable
en realidad nunca se realizó a ninguna versión de lanzamiento del impulso.
También hay un interesante article by Bjorn Karlsson sobre el tema que contiene un código que podría copiarse en mi proyecto. Sin embargo, espero que haya una biblioteca de utilidad comúnmente aceptada y mantenida (por ejemplo, impulso) que implemente eso ya.
Por razones de compatibilidad, no deseo confiar en C++ 11.
¿Ha considerado resolver el problema al no convertir implícitamente a 'bool'? –
Hay una implementación de Safe Bool reutilizable en la página 3 de este artículo: http://www.artima.com/cppsource/safebool.html –
Gracias. No lo mencioné, pero sí lo vi y podría copiar y pegar ese código, pero esperaba que alguna biblioteca de utilidad comúnmente aceptada y mantenida (lo primero que se piensa es que el impulso se convierta en realidad) ya lo haga. – CygnusX1