From 2edc74aa1fb541253f4286a70194960dab69506b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 28 May 2012 01:29:59 +0000 Subject: [PATCH] add some helper methods to make the type more uniform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157554 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/TinyPtrVector.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/llvm/ADT/TinyPtrVector.h b/include/llvm/ADT/TinyPtrVector.h index f9b7d559c39..8f3925c9c55 100644 --- a/include/llvm/ADT/TinyPtrVector.h +++ b/include/llvm/ADT/TinyPtrVector.h @@ -120,6 +120,14 @@ public: return Val.template get()->front(); } + EltTy back() const { + assert(!empty() && "vector empty"); + if (EltTy V = Val.template dyn_cast()) + return V; + return Val.template get()->back(); + } + + void push_back(EltTy NewVal) { assert(NewVal != 0 && "Can't add a null value"); @@ -139,6 +147,15 @@ public: Val.template get()->push_back(NewVal); } + void pop_back() { + // If we have a single value, convert to empty. + if (Val.template is()) + Val = (EltTy)0; + else if (VecTy *Vec = Val.template get()) + Vec->pop_back(); + } + + void clear() { // If we have a single value, convert to empty. if (Val.template is()) { -- 2.34.1