]> www.ginac.de Git - ginac.git/blobdiff - ginac/basic.h
- first implementation of pattern matching
[ginac.git] / ginac / basic.h
index 33a9d207ebaed981c8a1b1f7f566b97e4c99b37d..446d6d100b0ced4cab01ede4fe0bbfdf2e17d392 100644 (file)
@@ -118,7 +118,8 @@ public: // only const functions please (may break reference counting)
        virtual ex eval(int level = 0) const;
        virtual ex evalf(int level = 0) const;
        virtual ex series(const relational & r, int order, unsigned options = 0) const;
-       virtual ex subs(const lst & ls, const lst & lr) const;
+       virtual bool match(const ex & pattern, lst & repl_lst) const;
+       virtual ex subs(const lst & ls, const lst & lr, bool no_pattern = false) const;
        virtual ex normal(lst &sym_lst, lst &repl_lst, int level = 0) const;
        virtual ex to_rational(lst &repl_lst) const;
        virtual numeric integer_content(void) const;
@@ -141,7 +142,7 @@ protected: // non-const functions should be called from class ex only
        
        // non-virtual functions in this class
 public:
-       ex subs(const ex & e) const;
+       ex subs(const ex & e, bool no_pattern = false) const;
        ex diff(const symbol & s, unsigned nth=1) const;
        int compare(const basic & other) const;
        bool is_equal(const basic & other) const;