summaryrefslogtreecommitdiff
path: root/include/llvm/Support/BinaryStreamWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Support/BinaryStreamWriter.h')
-rw-r--r--include/llvm/Support/BinaryStreamWriter.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm/Support/BinaryStreamWriter.h b/include/llvm/Support/BinaryStreamWriter.h
index 6734a797ccc44..1b61c32a25418 100644
--- a/include/llvm/Support/BinaryStreamWriter.h
+++ b/include/llvm/Support/BinaryStreamWriter.h
@@ -20,6 +20,7 @@
#include "llvm/Support/Error.h"
#include <cstdint>
#include <type_traits>
+#include <utility>
namespace llvm {
@@ -30,8 +31,6 @@ namespace llvm {
/// although no methods are overridable.
class BinaryStreamWriter {
public:
- // FIXME: We should be able to slice and drop_front etc on Writers / Readers.
-
BinaryStreamWriter() = default;
explicit BinaryStreamWriter(WritableBinaryStreamRef Stream);
virtual ~BinaryStreamWriter() {}
@@ -152,6 +151,9 @@ public:
return writeStreamRef(Array.getUnderlyingStream());
}
+ /// Splits the Writer into two Writers at a given offset.
+ std::pair<BinaryStreamWriter, BinaryStreamWriter> split(uint32_t Off) const;
+
void setOffset(uint32_t Off) { Offset = Off; }
uint32_t getOffset() const { return Offset; }
uint32_t getLength() const { return Stream.getLength(); }