LLVM
8.0.1
|
An implementation of WritableBinaryStream which can write at its end causing the underlying data to grow. More...
#include "llvm/Support/BinaryByteStream.h"
Public Member Functions | |
AppendingBinaryByteStream ()=default | |
AppendingBinaryByteStream (llvm::support::endianness Endian) | |
void | clear () |
llvm::support::endianness | getEndian () const override |
Error | readBytes (uint32_t Offset, uint32_t Size, ArrayRef< uint8_t > &Buffer) override |
Given an offset into the stream and a number of bytes, attempt to read the bytes and set the output ArrayRef to point to data owned by the stream. More... | |
void | insert (uint32_t Offset, ArrayRef< uint8_t > Bytes) |
Error | readLongestContiguousChunk (uint32_t Offset, ArrayRef< uint8_t > &Buffer) override |
Given an offset into the stream, read as much as possible without copying any data. More... | |
uint32_t | getLength () override |
Return the number of bytes of data in this stream. More... | |
Error | writeBytes (uint32_t Offset, ArrayRef< uint8_t > Buffer) override |
Attempt to write the given bytes into the stream at the desired offset. More... | |
Error | commit () override |
For buffered streams, commits changes to the backing store. More... | |
virtual BinaryStreamFlags | getFlags () const override |
Return the properties of this stream. More... | |
MutableArrayRef< uint8_t > | data () |
Public Member Functions inherited from llvm::WritableBinaryStream | |
~WritableBinaryStream () override=default | |
BinaryStreamFlags | getFlags () const override |
Return the properties of this stream. More... | |
Public Member Functions inherited from llvm::BinaryStream | |
virtual | ~BinaryStream ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::WritableBinaryStream | |
Error | checkOffsetForWrite (uint32_t Offset, uint32_t DataSize) |
Protected Member Functions inherited from llvm::BinaryStream | |
Error | checkOffsetForRead (uint32_t Offset, uint32_t DataSize) |
An implementation of WritableBinaryStream which can write at its end causing the underlying data to grow.
This class owns the underlying data.
Definition at line 136 of file BinaryByteStream.h.
|
default |
|
inline |
Definition at line 142 of file BinaryByteStream.h.
|
inline |
Definition at line 145 of file BinaryByteStream.h.
Referenced by llvm::codeview::ContinuationRecordBuilder::begin().
|
inlineoverridevirtual |
For buffered streams, commits changes to the backing store.
Implements llvm::WritableBinaryStream.
Definition at line 194 of file BinaryByteStream.h.
References llvm::Error::success().
|
inline |
Definition at line 201 of file BinaryByteStream.h.
References llvm::BinaryByteStream::Data.
Referenced by llvm::codeview::ContinuationRecordBuilder::writeMemberType().
|
inlineoverridevirtual |
Implements llvm::BinaryStream.
Definition at line 147 of file BinaryByteStream.h.
References llvm::BinaryByteStream::Endian.
|
inlineoverridevirtual |
Return the properties of this stream.
Reimplemented from llvm::BinaryStream.
Definition at line 197 of file BinaryByteStream.h.
References llvm::BSF_Append, and llvm::BSF_Write.
|
inlineoverridevirtual |
Return the number of bytes of data in this stream.
Implements llvm::BinaryStream.
Definition at line 171 of file BinaryByteStream.h.
Definition at line 158 of file BinaryByteStream.h.
References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().
Referenced by llvm::codeview::ContinuationRecordBuilder::writeMemberType().
|
inlineoverridevirtual |
Given an offset into the stream and a number of bytes, attempt to read the bytes and set the output ArrayRef to point to data owned by the stream.
Implements llvm::BinaryStream.
Definition at line 149 of file BinaryByteStream.h.
References llvm::makeArrayRef(), llvm::ArrayRef< T >::size(), and llvm::Error::success().
|
inlineoverridevirtual |
Given an offset into the stream, read as much as possible without copying any data.
Implements llvm::BinaryStream.
Definition at line 162 of file BinaryByteStream.h.
References llvm::makeArrayRef(), and llvm::Error::success().
|
inlineoverridevirtual |
Attempt to write the given bytes into the stream at the desired offset.
This will always necessitate a copy. Cannot shrink or grow the stream, only writes into existing allocated space.
Implements llvm::WritableBinaryStream.
Definition at line 173 of file BinaryByteStream.h.
References llvm::ArrayRef< T >::data(), llvm::ArrayRef< T >::empty(), llvm::BinaryByteStream::getLength(), llvm::invalid_offset, llvm::Intrinsic::memcpy, llvm::ArrayRef< T >::size(), and llvm::Error::success().