]> www.ginac.de Git - ginac.git/blobdiff - ginac/basic.h
ChangeLog: mention cvs log (must be non-empty for Debian)
[ginac.git] / ginac / basic.h
index 4acdb9efc31dff5b6d8eebd05d68c0aba64d2104..97ec96e8ed6b0459046e32f06aceea4eb12ded3e 100644 (file)
@@ -3,7 +3,7 @@
  *  Interface to GiNaC's ABC. */
 
 /*
- *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2001 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
@@ -47,8 +47,13 @@ class numeric;
 class relational;
 class archive_node;
 
-// typedef std::vector<ex> exvector;
-typedef std::vector<ex,malloc_alloc> exvector; // CINT does not like vector<...,default_alloc>
+// Cint doesn't like vector<..,default_alloc> but malloc_alloc is
+// unstandardized and not supported by newer GCCs.
+#if defined(__GNUC__) && ((__GNUC__ == 2) && (__GNUC_MINOR__ < 97))
+typedef std::vector<ex,malloc_alloc> exvector;
+#else
+typedef std::vector<ex> exvector;
+#endif
 
 #define INLINE_BASIC_CONSTRUCTORS
 
@@ -66,7 +71,7 @@ class basic
 public:
        basic()
 #ifdef INLINE_BASIC_CONSTRUCTORS
-       : tinfo_key(TINFO_basic), flags(0), refcount(0)
+               : tinfo_key(TINFO_basic), flags(0), refcount(0)
        {
        }
 #else
@@ -91,8 +96,8 @@ public:
 #else
 ;
 #endif // def INLINE_BASIC_CONSTRUCTORS
-
-       virtual const basic & operator=(const basic & other);
+       
+       const basic & operator=(const basic & other);
        
 protected:
        void copy(const basic & other)
@@ -106,7 +111,7 @@ protected:
        // other constructors
        basic(unsigned ti)
 #ifdef INLINE_BASIC_CONSTRUCTORS
-       : tinfo_key(ti), flags(0), refcount(0)
+                          : tinfo_key(ti), flags(0), refcount(0)
        {
        }
 #else
@@ -185,7 +190,7 @@ private:
 // global constants
 
 extern const basic some_basic;
-extern const type_info & typeid_basic;
+extern const std::type_info & typeid_basic;
 
 // global variables