summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/BinaryStreamReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/BinaryStreamReader.cpp')
-rw-r--r--llvm/lib/Support/BinaryStreamReader.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Support/BinaryStreamReader.cpp b/llvm/lib/Support/BinaryStreamReader.cpp
index c7a2e0ddb17..702d98770e0 100644
--- a/llvm/lib/Support/BinaryStreamReader.cpp
+++ b/llvm/lib/Support/BinaryStreamReader.cpp
@@ -93,3 +93,16 @@ uint8_t BinaryStreamReader::peek() const {
llvm::consumeError(std::move(EC));
return Buffer[0];
}
+
+std::pair<BinaryStreamReader, BinaryStreamReader>
+BinaryStreamReader::split(uint32_t Off) const {
+ assert(getLength() >= Off);
+
+ BinaryStreamRef First = Stream.drop_front(Offset);
+
+ BinaryStreamRef Second = First.drop_front(Off);
+ First = First.keep_front(Off);
+ BinaryStreamReader W1{First};
+ BinaryStreamReader W2{Second};
+ return std::make_pair(W1, W2);
+} \ No newline at end of file
OpenPOWER on IntegriCloud