summaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT/IntervalMap.h
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2013-04-08 18:41:23 +0000
committerdim <dim@FreeBSD.org>2013-04-08 18:41:23 +0000
commit169d2bd06003c39970bc94c99669a34b61bb7e45 (patch)
tree06099edc18d30894081a822b756f117cbe0b8207 /include/llvm/ADT/IntervalMap.h
parent0ac5f94c68a3d8fbd1380dbba26d891ea7816b5e (diff)
downloadFreeBSD-src-169d2bd06003c39970bc94c99669a34b61bb7e45.zip
FreeBSD-src-169d2bd06003c39970bc94c99669a34b61bb7e45.tar.gz
Vendor import of llvm trunk r178860:
http://llvm.org/svn/llvm-project/llvm/trunk@178860
Diffstat (limited to 'include/llvm/ADT/IntervalMap.h')
-rw-r--r--include/llvm/ADT/IntervalMap.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/include/llvm/ADT/IntervalMap.h b/include/llvm/ADT/IntervalMap.h
index 931b67e..c4083ee 100644
--- a/include/llvm/ADT/IntervalMap.h
+++ b/include/llvm/ADT/IntervalMap.h
@@ -99,8 +99,8 @@
#ifndef LLVM_ADT_INTERVALMAP_H
#define LLVM_ADT_INTERVALMAP_H
-#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/PointerIntPair.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/RecyclingAllocator.h"
#include <iterator>
@@ -151,6 +151,26 @@ struct IntervalMapInfo {
};
+template <typename T>
+struct IntervalMapHalfOpenInfo {
+
+ /// startLess - Return true if x is not in [a;b).
+ static inline bool startLess(const T &x, const T &a) {
+ return x < a;
+ }
+
+ /// stopLess - Return true if x is not in [a;b).
+ static inline bool stopLess(const T &b, const T &x) {
+ return b <= x;
+ }
+
+ /// adjacent - Return true when the intervals [x;a) and [b;y) can coalesce.
+ static inline bool adjacent(const T &a, const T &b) {
+ return a == b;
+ }
+
+};
+
/// IntervalMapImpl - Namespace used for IntervalMap implementation details.
/// It should be considered private to the implementation.
namespace IntervalMapImpl {
OpenPOWER on IntegriCloud