* Interface to GiNaC's light-weight expression handles. */
/*
- * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2009 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
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef __GINAC_EX_H__
-#define __GINAC_EX_H__
+#ifndef GINAC_EX_H
+#define GINAC_EX_H
+#include "basic.h"
+#include "ptr.h"
+
+#include <functional>
#include <iosfwd>
#include <iterator>
-#include <functional>
#include <stack>
-#include "basic.h"
-#include "ptr.h"
-
namespace GiNaC {
-
/** Helper class to initialize the library. There must be one static object
* of this class in every object file that makes use of our flyweights in
* order to guarantee proper initialization. Hence we put it into this
*
* @see utils.cpp */
class library_init {
+ static void init_unarchivers();
public:
library_init();
~library_init();
// pattern matching
bool has(const ex & pattern, unsigned options = 0) const { return bp->has(pattern, options); }
- bool find(const ex & pattern, lst & found) const;
+ bool find(const ex & pattern, exset& found) const;
bool match(const ex & pattern) const;
- bool match(const ex & pattern, lst & repl_lst) const { return bp->match(pattern, repl_lst); }
+ bool match(const ex & pattern, exmap & repls) const { return bp->match(pattern, repls); }
// substitutions
ex subs(const exmap & m, unsigned options = 0) const;
// noncommutativity
unsigned return_type() const { return bp->return_type(); }
- tinfo_t return_type_tinfo() const { return bp->return_type_tinfo(); }
+ return_type_t return_type_tinfo() const { return bp->return_type_tinfo(); }
unsigned gethash() const { return bp->gethash(); }
inline bool has(const ex & thisex, const ex & pattern, unsigned options = 0)
{ return thisex.has(pattern, options); }
-inline bool find(const ex & thisex, const ex & pattern, lst & found)
+inline bool find(const ex & thisex, const ex & pattern, exset& found)
{ return thisex.find(pattern, found); }
inline bool is_polynomial(const ex & thisex, const ex & vars)
inline ex series(const ex & thisex, const ex & r, int order, unsigned options = 0)
{ return thisex.series(r, order, options); }
-inline bool match(const ex & thisex, const ex & pattern, lst & repl_lst)
+inline bool match(const ex & thisex, const ex & pattern, exmap& repl_lst)
{ return thisex.match(pattern, repl_lst); }
inline ex simplify_indexed(const ex & thisex, unsigned options = 0)
} // namespace std
-#endif // ndef __GINAC_EX_H__
+#endif // ndef GINAC_EX_H