boost/any.hpp (バージョン 1.55) の定義 (263 行目)
template<typename ValueType>
inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT
{
return any_cast<ValueType>(const_cast<any *>(operand));
}
ただし、 を使用するconst_cast<>
と、元のオブジェクトがconst
class foo
{
boost::any value;
template<typename T>
foo(T const&x) noexcept : value(x) {}
template<typename T>
const T*ptr() const noexcept
{ return boost::any_cast(value); }
};
それで、ブーストはコーシャですか?