namespace std

namespace std {

// structs

template <>
struct hash<ov::DiscreteTypeInfo>;

// classes

template <>
class numeric_limits<ov::bfloat16>;
template <>
class numeric_limits<ov::float16>;

// global functions

template <typename T>
std::shared_ptr<T> dynamic_pointer_cast(const ::ov::Any& any);

template <typename T>
std::shared_ptr<T> static_pointer_cast(const ::ov::Any& any);

bool OPENVINO_API isnan(ov::float16 x);

} // namespace std