struct ov::Any::Impl<T, typename std::enable_if<!std::is_convertible<T, std::shared_ptr<RuntimeAttribute>>::value>::type>

template <>
struct Impl<T, typename std::enable_if<!std::is_convertible<T, std::shared_ptr<RuntimeAttribute>>::value>::type>: public ov::Any::Base
{
    // fields

    T value;

    // construction

    template <>
    Impl();

    // methods

    typeid(T).name() OPENVINO_RTTI();
    const std::type_info& type_info() const;
    const void \* addressof() const;
    Base::Ptr copy() const;
    std::vector<std::type_index> base_type_info() const;
    boolconst Base& equal() const;
    voidstd::ostream& print() const;
    voidstd::istream& read();
};

struct ov::Any::Impl<T, typename std::enable_if<std::is_convertible<T, std::shared_ptr<RuntimeAttribute>>::value>::type>

template <>
struct Impl<T, typename std::enable_if<std::is_convertible<T, std::shared_ptr<RuntimeAttribute>>::value>::type>: public ov::Any::Base
{
    // fields

    T runtime_attribute;

    // construction

    Impl();

    // methods

    const DiscreteTypeInfo& get_type_info() const;
    std::shared_ptr<RuntimeAttribute> as_runtime_attribute() const;
    bool is_copyable() const;
    Anyconst std::shared_ptr<Node>& init();
    Anyconst std::vector<std::shared_ptr<Node>>& merge();
    std::string to_string();
    boolAttributeVisitor& visit_attributes();
    const std::type_info& type_info() const;
    std::vector<std::type_index> base_type_info() const;
    const void \* addressof() const;
    Base::Ptr copy() const;
    boolconst Base& equal() const;
    voidstd::ostream& print() const;
    voidstd::istream& read();
};

struct ov::Any::Impl