X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fptr.h;h=6460fe106990feac6e9a41bcbd6d41e98f80ee90;hb=5252d38313c423465b9bc37b0618cb8de96d0d4e;hp=c8b0691230bc5c8d8b8c49fc7f7d63620a2387c9;hpb=83a7ee99a947cbbf331018b803ad6be43a9ccd45;p=ginac.git diff --git a/ginac/ptr.h b/ginac/ptr.h index c8b06912..6460fe10 100644 --- a/ginac/ptr.h +++ b/ginac/ptr.h @@ -3,7 +3,7 @@ * Reference-counted pointer template. */ /* - * 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 @@ -20,30 +20,29 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef __GINAC_PTR_H__ -#define __GINAC_PTR_H__ +#ifndef GINAC_PTR_H +#define GINAC_PTR_H + +#include "assertion.h" #include // for size_t #include #include -#include "assertion.h" - namespace GiNaC { - /** Base class for reference-counted objects. */ class refcounted { public: refcounted() throw() : refcount(0) {} - size_t add_reference() throw() { return ++refcount; } - size_t remove_reference() throw() { return --refcount; } - size_t get_refcount() const throw() { return refcount; } - void set_refcount(size_t r) throw() { refcount = r; } + unsigned int add_reference() throw() { return ++refcount; } + unsigned int remove_reference() throw() { return --refcount; } + unsigned int get_refcount() const throw() { return refcount; } + void set_refcount(unsigned int r) throw() { refcount = r; } private: - size_t refcount; ///< reference counter + unsigned int refcount; ///< reference counter }; @@ -166,4 +165,4 @@ template struct less< GiNaC::ptr > } // namespace std -#endif // ndef __GINAC_PTR_H__ +#endif // ndef GINAC_PTR_H