3

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); }
};

それで、ブーストはコーシャですか?

4

2 に答える 2