X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fstructure.h;h=45ea07915264d8a9518fad208fb847d7bd56ab24;hp=de45c2aaaeca364e3099486002609011342eca91;hb=f85392050266dd11d26503fdfbccbeea63b2b898;hpb=0f7b8280ad89fa88a0cbaab7785a4b7cb06e6a63 diff --git a/ginac/structure.h b/ginac/structure.h index de45c2aa..45ea0791 100644 --- a/ginac/structure.h +++ b/ginac/structure.h @@ -26,6 +26,8 @@ #include #include "ex.h" +#include "ncmul.h" +#include "operators.h" #include "print.h" namespace GiNaC { @@ -116,7 +118,7 @@ class structure : public basic, public ComparisonPolicy { GINAC_DECLARE_REGISTERED_CLASS(structure, basic) // helpers - static unsigned get_tinfo() { return reg_info.tinfo_key; } + static unsigned get_tinfo() { return reg_info.options.get_id(); } static const char *get_class_name() { return "structure"; } // constructors @@ -182,8 +184,8 @@ public: // rational functions ex normal(exmap & repl, exmap & rev_lookup, int level = 0) const { return inherited::normal(repl, rev_lookup, level); } - ex to_rational(lst & repl_lst) const { return inherited::to_rational(repl_lst); } - ex to_polynomial(lst & repl_lst) const { return inherited::to_polynomial(repl_lst); } + ex to_rational(exmap & repl) const { return inherited::to_rational(repl); } + ex to_polynomial(exmap & repl) const { return inherited::to_polynomial(repl); } // polynomial algorithms numeric integer_content() const { return 1; } @@ -256,10 +258,7 @@ int structure::compare_same_type(const basic & other) const } template class CP> -registered_class_info structure::reg_info(structure::get_class_name(), "basic", next_structure_tinfo_key++, &structure::unarchive); - -template class CP> -const char *structure::class_name() const { return reg_info.name; } +registered_class_info structure::reg_info = registered_class_info(registered_class_options(structure::get_class_name(), "basic", next_structure_tinfo_key++, &structure::unarchive)); } // namespace GiNaC