X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fregistrar.h;h=cb3517168414a375c991ef448da71e70ce3ed283;hp=1473bbb88b26a49d4915ab8e13e1e3cbc5d50e0a;hb=cd0f12f5ce6023812f76d0f6eb40ee83078c2775;hpb=956eeb82c513a723e864edefa857133282cf692b diff --git a/ginac/registrar.h b/ginac/registrar.h index 1473bbb8..cb351716 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-2015 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