diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-07-10 15:33:20 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-07-10 15:33:20 +0000 |
commit | 10b2997913457fe3b00f88a350fa4143dcdc6b1c (patch) | |
tree | 6ed82171d8bf5044e5625443a9bba9c3433403f7 /include/llvm/ADT | |
parent | e355d850d6b3f595ce58a7b612502b57ca7f3271 (diff) | |
download | llvm-10b2997913457fe3b00f88a350fa4143dcdc6b1c.tar.gz llvm-10b2997913457fe3b00f88a350fa4143dcdc6b1c.tar.bz2 llvm-10b2997913457fe3b00f88a350fa4143dcdc6b1c.tar.xz |
Remove llvm/ADT/NullablePtr.h, there are no uses of it in-tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186006 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
-rw-r--r-- | include/llvm/ADT/NullablePtr.h | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/include/llvm/ADT/NullablePtr.h b/include/llvm/ADT/NullablePtr.h deleted file mode 100644 index e66c1d08cd..0000000000 --- a/include/llvm/ADT/NullablePtr.h +++ /dev/null @@ -1,62 +0,0 @@ -//===- llvm/ADT/NullablePtr.h - A pointer that allows null ------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines and implements the NullablePtr class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ADT_NULLABLEPTR_H -#define LLVM_ADT_NULLABLEPTR_H - -#include "llvm/Support/type_traits.h" -#include <cassert> -#include <cstddef> - -namespace llvm { -/// NullablePtr pointer wrapper - NullablePtr is used for APIs where a -/// potentially-null pointer gets passed around that must be explicitly handled -/// in lots of places. By putting a wrapper around the null pointer, it makes -/// it more likely that the null pointer case will be handled correctly. -template<class T> -class NullablePtr { - T *Ptr; - struct PlaceHolder {}; - -public: - NullablePtr(T *P = 0) : Ptr(P) {} - - template<typename OtherT> - NullablePtr(NullablePtr<OtherT> Other, - typename enable_if< - is_base_of<T, OtherT>, - PlaceHolder - >::type = PlaceHolder()) : Ptr(Other.getPtrOrNull()) {} - - bool isNull() const { return Ptr == 0; } - bool isNonNull() const { return Ptr != 0; } - - /// get - Return the pointer if it is non-null. - const T *get() const { - assert(Ptr && "Pointer wasn't checked for null!"); - return Ptr; - } - - /// get - Return the pointer if it is non-null. - T *get() { - assert(Ptr && "Pointer wasn't checked for null!"); - return Ptr; - } - - T *getPtrOrNull() { return Ptr; } - const T *getPtrOrNull() const { return Ptr; } -}; - -} // end namespace llvm - -#endif |