LLVM 22.0.0git
llvm::msgpack::Reader Class Reference

Reads MessagePack objects from memory, one at a time. More...

#include "llvm/BinaryFormat/MsgPackReader.h"

Public Member Functions

LLVM_ABI Reader (MemoryBufferRef InputBuffer)
 Construct a reader, keeping a reference to the InputBuffer.
LLVM_ABI Reader (StringRef Input)
 Construct a reader, keeping a reference to the Input.
 Reader (const Reader &)=delete
Readeroperator= (const Reader &)=delete
LLVM_ABI Expected< boolread (Object &Obj)
 Read one object from the input buffer, advancing past it.

Detailed Description

Reads MessagePack objects from memory, one at a time.

Definition at line 105 of file MsgPackReader.h.

Constructor & Destructor Documentation

◆ Reader() [1/3]

Reader::Reader ( MemoryBufferRef InputBuffer)

Construct a reader, keeping a reference to the InputBuffer.

Definition at line 22 of file MsgPackReader.cpp.

Referenced by operator=(), Reader(), and Reader().

◆ Reader() [2/3]

Reader::Reader ( StringRef Input)

Construct a reader, keeping a reference to the Input.

Definition at line 26 of file MsgPackReader.cpp.

References Reader().

◆ Reader() [3/3]

llvm::msgpack::Reader::Reader ( const Reader & )
delete

References Reader().

Member Function Documentation

◆ operator=()

Reader & llvm::msgpack::Reader::operator= ( const Reader & )
delete

References LLVM_ABI, and Reader().

◆ read()

Expected< bool > Reader::read ( Object & Obj)

Read one object from the input buffer, advancing past it.

The Obj is updated with the kind of the object read, and the corresponding union member is updated.

For the collection objects (Array and Map), only the length is read, and the caller must make and additional N calls (in the case of Array) or N*2 calls (in the case of Map) to Read to retrieve the collection elements.

Parameters
[out]Objfilled with next object on success.
Returns
true when object successfully read, false when at end of input (and so Obj was not updated), otherwise an error.

Definition at line 28 of file MsgPackReader.cpp.

References llvm::msgpack::Array, llvm::msgpack::Binary, llvm::bit_cast(), llvm::msgpack::Object::Bool, llvm::msgpack::Boolean, llvm::msgpack::Extension, llvm::msgpack::Object::Float, llvm::msgpack::Float, I, llvm::msgpack::Object::Int, llvm::msgpack::Int, llvm::msgpack::Object::Kind, llvm::msgpack::Object::Length, llvm::make_error(), llvm::msgpack::Map, llvm::msgpack::Nil, llvm::support::endian::read(), Size, llvm::msgpack::String, llvm::msgpack::Object::UInt, and llvm::msgpack::UInt.

Referenced by llvm::msgpack::Document::readFromBlob().


The documentation for this class was generated from the following files: