diff options
Diffstat (limited to 'include/lldb/Utility/PriorityPointerPair.h')
-rw-r--r-- | include/lldb/Utility/PriorityPointerPair.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/include/lldb/Utility/PriorityPointerPair.h b/include/lldb/Utility/PriorityPointerPair.h deleted file mode 100644 index 2bd369e78a9a..000000000000 --- a/include/lldb/Utility/PriorityPointerPair.h +++ /dev/null @@ -1,86 +0,0 @@ -//===-- PriorityPointerPair.h ----------------------------------------*- C++ -//-*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_PriorityPointerPair_h_ -#define liblldb_PriorityPointerPair_h_ - -#include "lldb/Utility/SharingPtr.h" -#include "lldb/lldb-public.h" - -namespace lldb_utility { - -//---------------------------------------------------------------------- -// A prioritized pair of SharedPtr<T>. One of the two pointers is high -// priority, the other is low priority. -// The Get() method always returns high, if *high != NULL, -// otherwise, low is returned (even if *low == NULL) -//---------------------------------------------------------------------- - -template <typename T> class PriorityPointerPair { -public: - typedef T &reference_type; - typedef T *pointer_type; - - typedef typename std::shared_ptr<T> T_SP; - - PriorityPointerPair() : m_high(), m_low() {} - - PriorityPointerPair(pointer_type high, pointer_type low) - : m_high(high), m_low(low) {} - - PriorityPointerPair(pointer_type low) : m_high(), m_low(low) {} - - PriorityPointerPair(T_SP &high, T_SP &low) : m_high(high), m_low(low) {} - - PriorityPointerPair(T_SP &low) : m_high(), m_low(low) {} - - void SwapLow(pointer_type l) { m_low.swap(l); } - - void SwapHigh(pointer_type h) { m_high.swap(h); } - - void SwapLow(T_SP l) { m_low.swap(l); } - - void SwapHigh(T_SP h) { m_high.swap(h); } - - T_SP GetLow() { return m_low; } - - T_SP GetHigh() { return m_high; } - - T_SP Get() { - if (m_high.get()) - return m_high; - return m_low; - } - - void ResetHigh() { m_high.reset(); } - - void ResetLow() { m_low.reset(); } - - void Reset() { - ResetLow(); - ResetHigh(); - } - - reference_type operator*() const { return Get().operator*(); } - - pointer_type operator->() const { return Get().operator->(); } - - ~PriorityPointerPair(); - -private: - T_SP m_high; - T_SP m_low; - - DISALLOW_COPY_AND_ASSIGN(PriorityPointerPair); -}; - -} // namespace lldb_utility - -#endif // #ifndef liblldb_PriorityPointerPair_h_ |