namespace element {
// typedefs
typedef std::vector<Type> TypeVector;
// enums
enum Type_t;
// classes
class Type;
// global functions
constexpr Type undefined(Type_t::undefined);
constexpr Type dynamic(Type_t::dynamic);
constexpr Type boolean(Type_t::boolean);
constexpr Type bf16(Type_t::bf16);
constexpr Type f16(Type_t::f16);
constexpr Type f32(Type_t::f32);
constexpr Type f64(Type_t::f64);
constexpr Type i4(Type_t::i4);
constexpr Type i8(Type_t::i8);
constexpr Type i16(Type_t::i16);
constexpr Type i32(Type_t::i32);
constexpr Type i64(Type_t::i64);
constexpr Type u1(Type_t::u1);
constexpr Type u4(Type_t::u4);
constexpr Type u8(Type_t::u8);
constexpr Type u16(Type_t::u16);
constexpr Type u32(Type_t::u32);
constexpr Type u64(Type_t::u64);
template <typename T>
Type from();
OPENVINO_API Type from< char >();
OPENVINO_API Type from< bool >();
OPENVINO_API Type from< float >();
OPENVINO_API Type from< double >();
OPENVINO_API Type from< int8_t >();
OPENVINO_API Type from< int16_t >();
OPENVINO_API Type from< int32_t >();
OPENVINO_API Type from< int64_t >();
OPENVINO_API Type from< uint8_t >();
OPENVINO_API Type from< uint16_t >();
OPENVINO_API Type from< uint32_t >();
OPENVINO_API Type from< uint64_t >();
OPENVINO_API Type from< ov::bfloat16 >();
OPENVINO_API Type from< ov::float16 >();
OPENVINO_API Type fundamental_type_for(const Type& type);
OPENVINO_API std::ostream& operator << (
std::ostream& out,
const ov::element::Type& obj
);
OPENVINO_API std::istream& operator >> (
std::istream& out,
ov::element::Type& obj
);
} // namespace element