X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fregistrar.h;h=8fd22270a15d14a745b1d8dd208b0d0992863dfd;hb=5fb83676210401cc08fae91831514bac44502209;hp=8c2e6d686f031840baaa39ae34818d473373038a;hpb=bd2d7351b89743eb68ce7d3bfa7ab62c331f9522;p=ginac.git diff --git a/ginac/registrar.h b/ginac/registrar.h index 8c2e6d68..8fd22270 100644 --- a/ginac/registrar.h +++ b/ginac/registrar.h @@ -3,7 +3,7 @@ * GiNaC's class registrar (for class basic and all classes derived from it). */ /* - * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,76 +17,184 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef __GINAC_REGISTRAR_H__ -#define __GINAC_REGISTRAR_H__ +#ifndef GINAC_REGISTRAR_H +#define GINAC_REGISTRAR_H +#include "class_info.h" +#include "print.h" + +#include #include +#include +#include -#ifndef NO_NAMESPACE_GINAC namespace GiNaC { -#endif // ndef NO_NAMESPACE_GINAC -class registered_class_info; class ex; class archive_node; -class lst; - - -/** Unarchiving function (static member function of every GiNaC class). */ -typedef ex (*unarch_func)(const archive_node &n, const lst &sym_lst); - - -/** Head of list of all registered_class_info structures. */ -extern registered_class_info *first_registered_class; +template