diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-02-02 15:45:55 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-02-02 15:45:55 +0000 |
commit | c840d965365ebf0e8aef6ac8f91cac54a230643d (patch) | |
tree | 058849928a43ca4d498e3530d86614d1d3b3e3f3 /cpp/include/IceUtil/MemoryPool.h | |
parent | backed out change (diff) | |
download | ice-c840d965365ebf0e8aef6ac8f91cac54a230643d.tar.bz2 ice-c840d965365ebf0e8aef6ac8f91cac54a230643d.tar.xz ice-c840d965365ebf0e8aef6ac8f91cac54a230643d.zip |
Added MemoryPool to IceUtil
Diffstat (limited to 'cpp/include/IceUtil/MemoryPool.h')
-rwxr-xr-x | cpp/include/IceUtil/MemoryPool.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/MemoryPool.h b/cpp/include/IceUtil/MemoryPool.h new file mode 100755 index 00000000000..8b04bf6fe9b --- /dev/null +++ b/cpp/include/IceUtil/MemoryPool.h @@ -0,0 +1,56 @@ +// **********************************************************************
+//
+// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef UTIL_MEMORY_POOL_H
+#define UTIL_MEMORY_POOL_H
+
+#include <IceUtil/Mutex.h>
+
+namespace IceUtil
+{
+
+class ICE_UTIL_API SimpleMemoryPool
+{
+public:
+
+ SimpleMemoryPool(const char*, int);
+
+ void* operatorNew(size_t);
+ void operatorDelete(void*);
+
+ static void usePool(bool);
+ static void traceLevel(int);
+
+protected:
+
+ static bool _usePool;
+
+private:
+
+ const char* _name;
+ const int _num;
+
+ void* _pool;
+
+ static int _traceLevel;
+};
+
+class ICE_UTIL_API MemoryPool : public SimpleMemoryPool, IceUtil::Mutex
+{
+public:
+
+ MemoryPool(const char*, int);
+
+ void* operatorNew(size_t);
+ void operatorDelete(void*);
+};
+
+}
+
+#endif
|