xrpld
Loading...
Searching...
No Matches
xrpl::SerialIter Class Reference

#include <Serializer.h>

Collaboration diagram for xrpl::SerialIter:

Public Member Functions

 SerialIter (void const *data, std::size_t size) noexcept
 SerialIter (Slice const &slice)
template<int N>
 SerialIter (std::uint8_t const (&data)[N])
bool empty () const noexcept
void reset () noexcept
int getBytesLeft () const noexcept
unsigned char get8 ()
std::uint16_t get16 ()
std::uint32_t get32 ()
std::int32_t geti32 ()
std::uint64_t get64 ()
std::int64_t geti64 ()
template<std::size_t Bits, class Tag = void>
BaseUInt< Bits, Tag > getBitString ()
UInt128 get128 ()
UInt160 get160 ()
UInt192 get192 ()
UInt256 get256 ()
void getFieldID (int &type, int &name)
int getVLDataLength ()
 Reads the length header at the read position and steps past it.
Slice getSlice (std::size_t bytes)
Blob getRaw (int size)
Blob getVL ()
void skip (int num)
Buffer getVLBuffer ()
template<class T>
T getRawHelper (int size)

Private Attributes

std::uint8_t const * p_
std::size_t remain_
std::size_t used_ = 0

Detailed Description

Definition at line 477 of file Serializer.h.

Constructor & Destructor Documentation

◆ SerialIter() [1/3]

xrpl::SerialIter::SerialIter ( void const * data,
std::size_t size )
noexcept

Definition at line 349 of file libxrpl/protocol/Serializer.cpp.

◆ SerialIter() [2/3]

xrpl::SerialIter::SerialIter ( Slice const & slice)

Definition at line 487 of file Serializer.h.

◆ SerialIter() [3/3]

template<int N>
xrpl::SerialIter::SerialIter ( std::uint8_t const (&) data[N])
explicit

Definition at line 493 of file Serializer.h.

Member Function Documentation

◆ empty()

bool xrpl::SerialIter::empty ( ) const
nodiscardnoexcept

Definition at line 499 of file Serializer.h.

◆ reset()

void xrpl::SerialIter::reset ( )
noexcept

Definition at line 355 of file libxrpl/protocol/Serializer.cpp.

◆ getBytesLeft()

int xrpl::SerialIter::getBytesLeft ( ) const
nodiscardnoexcept

Definition at line 508 of file Serializer.h.

◆ get8()

unsigned char xrpl::SerialIter::get8 ( )

Definition at line 373 of file libxrpl/protocol/Serializer.cpp.

◆ get16()

std::uint16_t xrpl::SerialIter::get16 ( )

Definition at line 385 of file libxrpl/protocol/Serializer.cpp.

◆ get32()

std::uint32_t xrpl::SerialIter::get32 ( )

Definition at line 397 of file libxrpl/protocol/Serializer.cpp.

◆ geti32()

std::int32_t xrpl::SerialIter::geti32 ( )

Definition at line 424 of file libxrpl/protocol/Serializer.cpp.

◆ get64()

std::uint64_t xrpl::SerialIter::get64 ( )

Definition at line 410 of file libxrpl/protocol/Serializer.cpp.

◆ geti64()

std::int64_t xrpl::SerialIter::geti64 ( )

Definition at line 436 of file libxrpl/protocol/Serializer.cpp.

◆ getBitString()

template<std::size_t Bits, class Tag>
BaseUInt< Bits, Tag > xrpl::SerialIter::getBitString ( )

Definition at line 597 of file Serializer.h.

◆ get128()

UInt128 xrpl::SerialIter::get128 ( )

Definition at line 535 of file Serializer.h.

◆ get160()

UInt160 xrpl::SerialIter::get160 ( )

Definition at line 541 of file Serializer.h.

◆ get192()

UInt192 xrpl::SerialIter::get192 ( )

Definition at line 547 of file Serializer.h.

◆ get256()

UInt256 xrpl::SerialIter::get256 ( )

Definition at line 553 of file Serializer.h.

◆ getFieldID()

void xrpl::SerialIter::getFieldID ( int & type,
int & name )

Definition at line 448 of file libxrpl/protocol/Serializer.cpp.

◆ getVLDataLength()

int xrpl::SerialIter::getVLDataLength ( )

Reads the length header at the read position and steps past it.

Returns
Field length in bytes. The iterator is left on the first byte of the field data.
Exceptions
std::overflow_errorif the header states a length the encoder could not have written.
std::runtime_errorif the data runs out before the header does.

Definition at line 501 of file libxrpl/protocol/Serializer.cpp.

◆ getSlice()

Slice xrpl::SerialIter::getSlice ( std::size_t bytes)

Definition at line 526 of file libxrpl/protocol/Serializer.cpp.

◆ getRaw()

Blob xrpl::SerialIter::getRaw ( int size)

Definition at line 495 of file libxrpl/protocol/Serializer.cpp.

◆ getVL()

Blob xrpl::SerialIter::getVL ( )

Definition at line 539 of file libxrpl/protocol/Serializer.cpp.

◆ skip()

void xrpl::SerialIter::skip ( int num)

Definition at line 363 of file libxrpl/protocol/Serializer.cpp.

◆ getVLBuffer()

Buffer xrpl::SerialIter::getVLBuffer ( )

Definition at line 545 of file libxrpl/protocol/Serializer.cpp.

◆ getRawHelper()

template<class T>
T xrpl::SerialIter::getRawHelper ( int size)

Definition at line 474 of file libxrpl/protocol/Serializer.cpp.

Member Data Documentation

◆ p_

std::uint8_t const* xrpl::SerialIter::p_
private

Definition at line 480 of file Serializer.h.

◆ remain_

std::size_t xrpl::SerialIter::remain_
private

Definition at line 481 of file Serializer.h.

◆ used_

std::size_t xrpl::SerialIter::used_ = 0
private

Definition at line 482 of file Serializer.h.