diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-11-18 11:52:57 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-11-18 11:52:57 +0100 |
commit | 969e6efcaae5cbaf05ea3788aefa4ceab30e321a (patch) | |
tree | e14e4bf1053444f26df0145da4efc3c53b18b81b /memfilepersistence | |
parent | 1cac46a96fe85d5c879f14749584bd19b41b5ca5 (diff) |
Avoid including iostream in header files.
Diffstat (limited to 'memfilepersistence')
-rw-r--r-- | memfilepersistence/src/vespa/memfilepersistence/common/freeptr.h | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/memfilepersistence/src/vespa/memfilepersistence/common/freeptr.h b/memfilepersistence/src/vespa/memfilepersistence/common/freeptr.h deleted file mode 100644 index de807efed2a..00000000000 --- a/memfilepersistence/src/vespa/memfilepersistence/common/freeptr.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -/** - * @class storage::FreePtr - * @ingroup slotfile - * - * @brief Simple pointer wrapper that free() its content when deleted. - * - * Utility used to hold memory allocated with malloc directly. - */ - -#pragma once - -#include <iostream> -#include <sstream> - -namespace storage { - -template<typename T> -class FreePtr { - T* _ptr; - -public: - FreePtr(T* ptr = 0) : _ptr(ptr) {} - ~FreePtr() { free(); } - - FreePtr(FreePtr& ptr) : _ptr(ptr._ptr) { ptr._ptr = 0; } - FreePtr& operator=(FreePtr& ptr) { swap(ptr); ptr.free(); return *this; } - - void reset(T* ptr = 0) { free(); _ptr = ptr; } - void swap(FreePtr<T>& other) - { T* tmp = _ptr; _ptr = other._ptr; other._ptr = tmp; } - T* get() { return _ptr; } - const T* get() const { return _ptr; } - T* operator->() { return _ptr; } - const T* operator->() const { return _ptr; } - T& operator*() { assert(_ptr != 0); return *_ptr; } - const T& operator*() const { assert(_ptr != 0); return *_ptr; } - void free() { if (_ptr != 0) { ::free(_ptr); _ptr = 0; } } -}; - -} // storage - |