X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fbasic.h;h=97ec96e8ed6b0459046e32f06aceea4eb12ded3e;hb=c06c3bd06e86e41ec5905b3fce42ba148b9fd85b;hp=4acdb9efc31dff5b6d8eebd05d68c0aba64d2104;hpb=703c6cebb5d3d395437e73e6935f3691aed68e0a;p=ginac.git diff --git a/ginac/basic.h b/ginac/basic.h index 4acdb9ef..97ec96e8 100644 --- a/ginac/basic.h +++ b/ginac/basic.h @@ -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 exvector; -typedef std::vector 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 exvector; +#else +typedef std::vector 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