From: Christian Bauer Date: Sun, 15 Sep 2002 21:07:44 +0000 (+0000) Subject: re-enabled the assignment operator of class symbol X-Git-Tag: release_1-0-11~5 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=c4c5bcaff965970d7632eeea9bb9cb31b99a9251 re-enabled the assignment operator of class symbol --- diff --git a/ginac/symbol.cpp b/ginac/symbol.cpp index 94d01e4c..f099967c 100644 --- a/ginac/symbol.cpp +++ b/ginac/symbol.cpp @@ -32,7 +32,7 @@ namespace GiNaC { -GINAC_IMPLEMENT_REGISTERED_CLASS_NO_CTORS(symbol, basic) +GINAC_IMPLEMENT_REGISTERED_CLASS(symbol, basic) ////////// // default ctor, dtor, copy ctor, assignment operator and helpers @@ -53,7 +53,7 @@ void symbol::copy(const symbol & other) TeX_name = other.TeX_name; serial = other.serial; asexinfop = other.asexinfop; - ++asexinfop->refcount; + ++(asexinfop->refcount); } void symbol::destroy(bool call_parent) @@ -70,11 +70,6 @@ void symbol::destroy(bool call_parent) // public -symbol::symbol(const symbol & other) -{ - copy(other); -} - symbol::symbol(const std::string & initname) : inherited(TINFO_symbol) { name = initname; @@ -137,11 +132,6 @@ void symbol::archive(archive_node &n) const // public -basic *symbol::duplicate() const -{ - return new symbol(*this); -} - void symbol::print(const print_context & c, unsigned level) const { if (is_a(c)) { diff --git a/ginac/symbol.h b/ginac/symbol.h index 7c96312c..15490253 100644 --- a/ginac/symbol.h +++ b/ginac/symbol.h @@ -37,7 +37,7 @@ namespace GiNaC { * first place. */ class symbol : public basic { - GINAC_DECLARE_REGISTERED_CLASS_NO_CTORS(symbol, basic) + GINAC_DECLARE_REGISTERED_CLASS(symbol, basic) // types @@ -52,15 +52,6 @@ class symbol : public basic // member functions - // default ctor, dtor, copy ctor, assignment operator and helpers -public: - symbol(); - ~symbol() { destroy(false); } - symbol(const symbol & other); -protected: - void copy(const symbol & other); - void destroy(bool call_parent); - // other ctors public: explicit symbol(const std::string & initname); @@ -68,7 +59,6 @@ public: // functions overriding virtual functions from base classes public: - basic * duplicate() const; void print(const print_context & c, unsigned level = 0) const; bool info(unsigned inf) const; ex eval(int level = 0) const; @@ -78,7 +68,6 @@ public: ex to_rational(lst &repl_lst) const; protected: ex derivative(const symbol & s) const; - int compare_same_type(const basic & other) const; bool is_equal_same_type(const basic & other) const; unsigned calchash(void) const;