X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Findexed.cpp;h=01fc985bb60805bb4cc1f961ae8faff42d4f3965;hb=481e3e83f6b71d6639dd5c3fbd3c0d1e1ac18328;hp=df89f12953b0a694c060a092e557fc87c881e494;hpb=e858ebe524f9beac33d492b9a4e614666819c3ab;p=ginac.git diff --git a/ginac/indexed.cpp b/ginac/indexed.cpp index df89f129..01fc985b 100644 --- a/ginac/indexed.cpp +++ b/ginac/indexed.cpp @@ -55,7 +55,6 @@ GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(indexed, exprseq, indexed::indexed() : symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; } ////////// @@ -64,87 +63,75 @@ indexed::indexed() : symtree(not_symmetric()) indexed::indexed(const ex & b) : inherited(b), symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const ex & i1) : inherited(b, i1), symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const ex & i1, const ex & i2) : inherited(b, i1, i2), symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const ex & i1, const ex & i2, const ex & i3) : inherited(b, i1, i2, i3), symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const ex & i1, const ex & i2, const ex & i3, const ex & i4) : inherited(b, i1, i2, i3, i4), symtree(not_symmetric()) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const symmetry & symm, const ex & i1, const ex & i2) : inherited(b, i1, i2), symtree(symm) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const symmetry & symm, const ex & i1, const ex & i2, const ex & i3) : inherited(b, i1, i2, i3), symtree(symm) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const symmetry & symm, const ex & i1, const ex & i2, const ex & i3, const ex & i4) : inherited(b, i1, i2, i3, i4), symtree(symm) { - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const exvector & v) : inherited(b), symtree(not_symmetric()) { seq.insert(seq.end(), v.begin(), v.end()); - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const ex & b, const symmetry & symm, const exvector & v) : inherited(b), symtree(symm) { seq.insert(seq.end(), v.begin(), v.end()); - tinfo_key = &indexed::tinfo_static; validate(); } indexed::indexed(const symmetry & symm, const exprseq & es) : inherited(es), symtree(symm) { - tinfo_key = &indexed::tinfo_static; } indexed::indexed(const symmetry & symm, const exvector & v, bool discardable) : inherited(v, discardable), symtree(symm) { - tinfo_key = &indexed::tinfo_static; } indexed::indexed(const symmetry & symm, std::auto_ptr vp) : inherited(vp), symtree(symm) { - tinfo_key = &indexed::tinfo_static; } ////////// // archiving ////////// -indexed::indexed(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst) +void indexed::read_archive(const archive_node &n, lst &sym_lst) { + inherited::read_archive(n, sym_lst); if (!n.find_ex("symmetry", symtree, sym_lst)) { // GiNaC versions <= 0.9.0 had an unsigned "symmetry" property unsigned symm = 0; @@ -163,6 +150,7 @@ indexed::indexed(const archive_node &n, lst &sym_lst) : inherited(n, sym_lst) const_cast(ex_to(symtree)).validate(seq.size() - 1); } } +GINAC_BIND_UNARCHIVER(indexed); void indexed::archive(archive_node &n) const { @@ -170,8 +158,6 @@ void indexed::archive(archive_node &n) const n.add_ex("symmetry", symtree); } -DEFAULT_UNARCHIVE(indexed) - ////////// // functions overriding virtual functions from base classes //////////