X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fadd.h;h=f4862c58cfeb6c3375e0795a52c816a93dd1df4e;hp=02969f01fa4a7274626e6208e3ad6c46f9ef2072;hb=a991a479a18fe84a2d32d047ad9222584f448eca;hpb=0f7b8280ad89fa88a0cbaab7785a4b7cb06e6a63 diff --git a/ginac/add.h b/ginac/add.h index 02969f01..f4862c58 100644 --- a/ginac/add.h +++ b/ginac/add.h @@ -41,11 +41,10 @@ public: add(const exvector & v); add(const epvector & v); add(const epvector & v, const ex & oc); - add(epvector * vp, const ex & oc); + add(std::auto_ptr vp, const ex & oc); // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; unsigned precedence() const {return 40;} bool info(unsigned inf) const; int degree(const ex & s) const; @@ -65,7 +64,7 @@ protected: unsigned return_type() const; unsigned return_type_tinfo() const; ex thisexpairseq(const epvector & v, const ex & oc) const; - ex thisexpairseq(epvector * vp, const ex & oc) const; + ex thisexpairseq(std::auto_ptr vp, const ex & oc) const; expair split_ex_to_pair(const ex & e) const; expair combine_ex_with_coeff_to_pair(const ex & e, const ex & c) const; @@ -73,6 +72,14 @@ protected: const ex & c) const; ex recombine_pair_to_ex(const expair & p) const; ex expand(unsigned options=0) const; + + // non-virtual functions in this class +protected: + void print_add(const print_context & c, const char *openbrace, const char *closebrace, const char *mul_sym, unsigned level) const; + void do_print(const print_context & c, unsigned level) const; + void do_print_latex(const print_latex & c, unsigned level) const; + void do_print_csrc(const print_csrc & c, unsigned level) const; + void do_print_python_repr(const print_python_repr & c, unsigned level) const; }; // utility functions