]> www.ginac.de Git - ginac.git/blobdiff - ginac/relational.cpp
Don't force every algebraic class to implement archiving/unarchiving.
[ginac.git] / ginac / relational.cpp
index b59f7ab37981e662a33a0a18a27e512142268528..d345943c26cc2bbea2157efbe0ff9894d220d0ad 100644 (file)
@@ -55,8 +55,9 @@ relational::relational(const ex & lhs, const ex & rhs, operators oper) :
 // archiving
 //////////
 
-relational::relational(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst)
+void relational::read_archive(const archive_node& n, lst& sym_lst)
 {
+       inherited::read_archive(n, sym_lst);
        unsigned int opi;
        if (!(n.find_unsigned("op", opi)))
                throw (std::runtime_error("unknown relational operator in archive"));
@@ -64,6 +65,7 @@ relational::relational(const archive_node &n, lst &sym_lst) : inherited(n, sym_l
        n.find_ex("lh", lh, sym_lst);
        n.find_ex("rh", rh, sym_lst);
 }
+GINAC_BIND_UNARCHIVER(relational);
 
 void relational::archive(archive_node &n) const
 {
@@ -73,8 +75,6 @@ void relational::archive(archive_node &n) const
        n.add_unsigned("op", o);
 }
 
-DEFAULT_UNARCHIVE(relational)
-
 //////////
 // functions overriding virtual functions from base classes
 //////////