class WriteThroughMemoryBuffer
Declaration
class WriteThroughMemoryBuffer : public MemoryBuffer { /* full declaration omitted */ };
Description
This class is an extension of MemoryBuffer, which allows write access to the underlying contents and committing those changes to the original source. It only supports creation methods that are guaranteed to produce a writable buffer. For example, mapping a file read-only is not supported.
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:217
Inherits from: MemoryBuffer
Member Variables
- protected static const sys::fs::mapped_file_region::mapmode Mapmode = sys::fs::mapped_file_region::readwrite
Inherited from MemoryBuffer:
- protected static Mapmode = sys::fs::mapped_file_region::readonly
Method Overview
- protected WriteThroughMemoryBuffer()
- public MutableArrayRef<char> getBuffer()
- public char * getBufferEnd()
- public char * getBufferStart()
- public static ErrorOr<std::unique_ptr<WriteThroughMemoryBuffer>> getFile(const llvm::Twine & Filename, int64_t FileSize = -1)
- public static ErrorOr<std::unique_ptr<WriteThroughMemoryBuffer>> getFileSlice(const llvm::Twine & Filename, uint64_t MapSize, uint64_t Offset)
Inherited from MemoryBuffer:
- public getBuffer
- public getBufferEnd
- public getBufferIdentifier
- public getBufferKind
- public getBufferSize
- public getBufferStart
- public getFile
- public getFileAsStream
- public getFileOrSTDIN
- public getFileSlice
- public getMemBuffer
- public getMemBuffer
- public getMemBufferCopy
- public getMemBufferRef
- public getOpenFile
- public getOpenFileSlice
- public getSTDIN
- protected init
Methods
¶WriteThroughMemoryBuffer()
WriteThroughMemoryBuffer()
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:219
¶MutableArrayRef<char> getBuffer()
MutableArrayRef<char> getBuffer()
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:237
¶char* getBufferEnd()
char* getBufferEnd()
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:234
¶char* getBufferStart()
char* getBufferStart()
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:231
¶static ErrorOr<
std::unique_ptr<WriteThroughMemoryBuffer>>
getFile(const llvm::Twine& Filename,
int64_t FileSize = -1)
static ErrorOr<
std::unique_ptr<WriteThroughMemoryBuffer>>
getFile(const llvm::Twine& Filename,
int64_t FileSize = -1)
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:242
Parameters
- const llvm::Twine& Filename
- int64_t FileSize = -1
¶static ErrorOr<
std::unique_ptr<WriteThroughMemoryBuffer>>
getFileSlice(const llvm::Twine& Filename,
uint64_t MapSize,
uint64_t Offset)
static ErrorOr<
std::unique_ptr<WriteThroughMemoryBuffer>>
getFileSlice(const llvm::Twine& Filename,
uint64_t MapSize,
uint64_t Offset)
Description
Map a subrange of the specified file as a ReadWriteMemoryBuffer.
Declared at: llvm/include/llvm/Support/MemoryBuffer.h:246
Parameters
- const llvm::Twine& Filename
- uint64_t MapSize
- uint64_t Offset