On 08/23/18 14:28, Glen Fernandes wrote:
On Thu, Aug 23, 2018 at 7:22 AM Andrey Semashev wrote:
I gathered that you intended to use BOOST_IS_FINAL as a way to access a compiler intrinsic, i.e. use it in place of the type trait.
Either in place of, or in addition to (doesn't matter to me) but not the type trait alone. Because the trait alone is inadequate, as I mentioned before.
Then it looks like everything's already in place in Boost.TypeTraits. Why not just use it? (Yes, I remember about circular dependencies; we can solve those, although I don't see it as that much of a problem as the dependency on Boost.MPL would have been.)
I didn't find those macros documented. Specifically for BOOST_IS_FINAL, it is mentioned as a *way to detect* whether `boost::is_final` gives the actual result and not just `false`. The docs don't say that BOOST_IS_FINAL is a way to access compiler intrinsics, so if someone is using it this way, he is relying on implementation details.
They're documented here: https://www.boost.org/doc/libs/1_68_0/libs/type_traits/doc/html/boost_typetr...
Ok, I missed this page, thanks.