void swap(any& x, any& y) noexcept;
template<class T, class... Args>
  any make_any(Args&&... args);
template<class T, class U, class... Args>
  any make_any(initializer_list<U> il, Args&&... args);
template<class T>
  T any_cast(const any& operand);
template<class T>
  T any_cast(any& operand);
template<class T>
  T any_cast(any&& operand);
template<class T>
  const T* any_cast(const any* operand) noexcept;
template<class T>
  T* any_cast(any* operand) noexcept;