|
LLVM
4.0.0
|
SequencedItemStream represents a sequence of objects stored in a standard container but for which it is useful to view as a stream of contiguous bytes. More...
#include <SequencedItemStream.h>
Public Member Functions | |
| SequencedItemStream ()=default | |
| Error | readBytes (uint32_t Offset, uint32_t Size, ArrayRef< uint8_t > &Buffer) const override |
| Error | readLongestContiguousChunk (uint32_t Offset, ArrayRef< uint8_t > &Buffer) const override |
| void | setItems (ArrayRef< T > ItemArray) |
| uint32_t | getLength () const override |
Public Member Functions inherited from llvm::msf::ReadableStream | |
| virtual | ~ReadableStream ()=default |
SequencedItemStream represents a sequence of objects stored in a standard container but for which it is useful to view as a stream of contiguous bytes.
An example of this might be if you have a std::vector of TPI records, where each record contains a byte sequence that represents that one record serialized, but where each consecutive item might not be allocated immediately after the previous item. Using a SequencedItemStream, we can adapt the VarStreamArray class to trivially extract one item at a time, allowing the data to be used anywhere a VarStreamArray could be used.
Definition at line 38 of file SequencedItemStream.h.
|
default |
|
inlineoverridevirtual |
Implements llvm::msf::ReadableStream.
Definition at line 65 of file SequencedItemStream.h.
Referenced by llvm::pdb::TpiStreamBuilder::calculateSerializedLength().
|
inlineoverridevirtual |
Implements llvm::msf::ReadableStream.
Definition at line 42 of file SequencedItemStream.h.
|
inlineoverridevirtual |
Implements llvm::msf::ReadableStream.
Definition at line 54 of file SequencedItemStream.h.
|
inline |
Definition at line 63 of file SequencedItemStream.h.
Referenced by llvm::pdb::TpiStreamBuilder::addTypeRecord().
1.8.6