]> www.ginac.de Git - ginac.git/blobdiff - ginac/symbol.h
print methods can be replaced at run-time with set_print_func<>()
[ginac.git] / ginac / symbol.h
index 8cd738b5688cf04e5786c43485dece1f5864f10f..5794f46da80ac435b591c713776a588f783d92ea 100644 (file)
@@ -62,13 +62,12 @@ public:
        
        // functions overriding virtual functions from base classes
 public:
-       void print(const print_context & c, unsigned level = 0) const;
        bool info(unsigned inf) const;
        ex eval(int level = 0) const;
        ex evalf(int level = 0) const { return *this; } // overwrites basic::evalf() for performance reasons
        ex series(const relational & s, int order, unsigned options = 0) const;
        ex subs(const exmap & m, unsigned options = 0) const { return subs_one_level(m, options); } // overwrites basic::subs() for performance reasons
-       ex normal(exmap & repl, int level = 0) const;
+       ex normal(exmap & repl, exmap & rev_lookup, int level = 0) const;
        ex to_rational(lst &repl_lst) const;
        ex to_polynomial(lst &repl_lst) const;
 protected:
@@ -82,6 +81,11 @@ public:
        void unassign();
        void set_name(const std::string & n) { name = n; }
        std::string get_name() const { return name; }
+protected:
+       void do_print(const print_context & c, unsigned level) const;
+       void do_print_latex(const print_latex & c, unsigned level) const;
+       void do_print_tree(const print_tree & c, unsigned level) const;
+       void do_print_python_repr(const print_python_repr & c, unsigned level) const;
 private:
        std::string & autoname_prefix();
        std::string default_TeX_name() const;