X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcommon%2Ftracked_int_ptr.hpp;fp=src%2Fceph%2Fsrc%2Fcommon%2Ftracked_int_ptr.hpp;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=5752906b18cddc038ecff0b82c858d80d16148f7;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/common/tracked_int_ptr.hpp b/src/ceph/src/common/tracked_int_ptr.hpp deleted file mode 100644 index 5752906..0000000 --- a/src/ceph/src/common/tracked_int_ptr.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2013 Inktank Storage, Inc. - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_TRACKEDINTPTR_H -#define CEPH_TRACKEDINTPTR_H - - -template -class TrackedIntPtr { - T *ptr; - uint64_t id; -public: - TrackedIntPtr() : ptr(NULL), id(0) {} - TrackedIntPtr(T *ptr) : ptr(ptr), id(ptr ? get_with_id(ptr) : 0) {} - ~TrackedIntPtr() { - if (ptr) - put_with_id(ptr, id); - else - assert(id == 0); - } - void swap(TrackedIntPtr &other) { - T *optr = other.ptr; - uint64_t oid = other.id; - other.ptr = ptr; - other.id = id; - ptr = optr; - id = oid; - } - TrackedIntPtr(const TrackedIntPtr &rhs) : - ptr(rhs.ptr), id(ptr ? get_with_id(ptr) : 0) {} - - void operator=(const TrackedIntPtr &rhs) { - TrackedIntPtr o(rhs.ptr); - swap(o); - } - T &operator*() const { - return *ptr; - } - T *operator->() const { - return ptr; - } - T *get() const { return ptr; } - - operator bool() const { - return ptr != NULL; - } - bool operator<(const TrackedIntPtr &lhs) const { - return ptr < lhs.ptr; - } - bool operator==(const TrackedIntPtr &lhs) const { - return ptr == lhs.ptr; - } - - void reset() { - if (ptr) - put_with_id(ptr, id); - ptr = nullptr; - id = 0; - } -}; - -#endif