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:227

Inherits from: MemoryBuffer

Member Variables

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:

Methods

WriteThroughMemoryBuffer()

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:229

MutableArrayRef<char> getBuffer()

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:244

char* getBufferEnd()

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:241

char* getBufferStart()

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:238

static ErrorOr<
    std::unique_ptr<WriteThroughMemoryBuffer>>
getFile(const llvm::Twine& Filename,
        int64_t FileSize = -1)

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:249

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)

Description

Map a subrange of the specified file as a ReadWriteMemoryBuffer.

Declared at: llvm/include/llvm/Support/MemoryBuffer.h:253

Parameters

const llvm::Twine& Filename
uint64_t MapSize
uint64_t Offset