+error_code MemoryBuffer::getOpenFile(int FD, const char *Filename,
+ std::unique_ptr<MemoryBuffer> &Result,
+ uint64_t FileSize,
+ bool RequiresNullTerminator) {
+ return getOpenFileImpl(FD, Filename, Result, FileSize, FileSize, 0,
+ RequiresNullTerminator);
+}
+
+error_code MemoryBuffer::getOpenFile(int FD, const char *Filename,
+ OwningPtr<MemoryBuffer> &Result,
+ uint64_t FileSize,
+ bool RequiresNullTerminator) {
+ std::unique_ptr<MemoryBuffer> MB;
+ error_code ec = getOpenFileImpl(FD, Filename, MB, FileSize, FileSize, 0,
+ RequiresNullTerminator);
+ Result = std::move(MB);
+ return ec;
+}
+
+error_code MemoryBuffer::getOpenFileSlice(int FD, const char *Filename,
+ std::unique_ptr<MemoryBuffer> &Result,
+ uint64_t MapSize, int64_t Offset) {
+ return getOpenFileImpl(FD, Filename, Result, -1, MapSize, Offset, false);
+}
+
+error_code MemoryBuffer::getOpenFileSlice(int FD, const char *Filename,
+ OwningPtr<MemoryBuffer> &Result,
+ uint64_t MapSize, int64_t Offset) {
+ std::unique_ptr<MemoryBuffer> MB;
+ error_code ec = getOpenFileImpl(FD, Filename, MB, -1, MapSize, Offset, false);
+ Result = std::move(MB);
+ return ec;
+}
+