class ov::Any::Base

class Base: public std::enable_shared_from_this< Base >
{
public:
    // typedefs

    typedef std::shared_ptr<Base> Ptr;

    // methods

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

    template <>
    bool is() const;

    template <>
    T& as();

    template <>
    const T& as() const;

protected:
};