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

#include <Serializer.h>

Collaboration diagram for xrpl::Serializer:

Public Member Functions

 Serializer (int n=256)
 Serializer (void const *data, std::size_t size)
Slice slice () const noexcept
std::size_t size () const noexcept
void const * data () const noexcept
int add8 (unsigned char i)
int add16 (std::uint16_t i)
template<typename T>
int add32 (T i)
int add32 (HashPrefix p)
template<typename T>
int add64 (T i)
template<typename Integer>
int addInteger (Integer)
template<std::size_t Bits, class Tag>
int addBitString (BaseUInt< Bits, Tag > const &v)
int addRaw (Blob const &vector)
int addRaw (Slice slice)
int addRaw (void const *ptr, int len)
int addRaw (Serializer const &s)
int addVL (Blob const &vector)
int addVL (Slice const &slice)
template<class Iter>
int addVL (Iter begin, Iter end, int len)
int addVL (void const *ptr, int len)
bool get8 (int &, int offset) const
template<typename Integer>
bool getInteger (Integer &number, int offset)
template<std::size_t Bits, typename Tag = void>
bool getBitString (BaseUInt< Bits, Tag > &data, int offset) const
int addFieldID (int type, int name)
int addFieldID (SerializedTypeID type, int name)
uint256 getSHA512Half () const
Blob const & peekData () const
Blob getData () const
BlobmodData ()
int getDataLength () const
void const * getDataPtr () const
void * getDataPtr ()
int getLength () const
std::string getString () const
void erase ()
bool chop (int num)
Blob::iterator begin ()
Blob::iterator end ()
Blob::const_iterator begin () const
Blob::const_iterator end () const
void reserve (size_t n)
void resize (size_t n)
size_t capacity () const
bool operator== (Blob const &v) const
bool operator== (Serializer const &v) const
template<>
int addInteger (unsigned char i)
template<>
int addInteger (std::uint16_t i)
template<>
int addInteger (std::uint32_t i)
template<>
int addInteger (std::uint64_t i)
template<>
int addInteger (std::int32_t i)

Static Public Member Functions

static int decodeLengthLength (int b1)
static int decodeVLLength (int b1)
static int decodeVLLength (int b1, int b2)
static int decodeVLLength (int b1, int b2, int b3)

Private Member Functions

int addEncoded (int length)

Static Private Member Functions

static int encodeLengthLength (int length)

Private Attributes

Blob data_

Detailed Description

Definition at line 21 of file Serializer.h.

Constructor & Destructor Documentation

◆ Serializer() [1/2]

xrpl::Serializer::Serializer ( int n = 256)
explicit

Definition at line 28 of file Serializer.h.

◆ Serializer() [2/2]

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

Definition at line 33 of file Serializer.h.

Member Function Documentation

◆ slice()

Slice xrpl::Serializer::slice ( ) const
nodiscardnoexcept

Definition at line 45 of file Serializer.h.

◆ size()

std::size_t xrpl::Serializer::size ( ) const
nodiscardnoexcept

Definition at line 51 of file Serializer.h.

◆ data()

void const * xrpl::Serializer::data ( ) const
nodiscardnoexcept

Definition at line 57 of file Serializer.h.

◆ add8()

int xrpl::Serializer::add8 ( unsigned char i)

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

◆ add16()

int xrpl::Serializer::add16 ( std::uint16_t i)

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

◆ add32() [1/2]

template<typename T>
int xrpl::Serializer::add32 ( T i)

Definition at line 71 of file Serializer.h.

◆ add32() [2/2]

int xrpl::Serializer::add32 ( HashPrefix p)

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

◆ add64()

template<typename T>
int xrpl::Serializer::add64 ( T i)

Definition at line 87 of file Serializer.h.

◆ addInteger() [1/6]

template<typename Integer>
int xrpl::Serializer::addInteger ( Integer )

◆ addBitString()

template<std::size_t Bits, class Tag>
int xrpl::Serializer::addBitString ( BaseUInt< Bits, Tag > const & v)

Definition at line 106 of file Serializer.h.

◆ addRaw() [1/4]

int xrpl::Serializer::addRaw ( Blob const & vector)

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

◆ addRaw() [2/4]

int xrpl::Serializer::addRaw ( Slice slice)

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

◆ addRaw() [3/4]

int xrpl::Serializer::addRaw ( void const * ptr,
int len )

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

◆ addRaw() [4/4]

int xrpl::Serializer::addRaw ( Serializer const & s)

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

◆ addVL() [1/4]

int xrpl::Serializer::addVL ( Blob const & vector)

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

◆ addVL() [2/4]

int xrpl::Serializer::addVL ( Slice const & slice)

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

◆ addVL() [3/4]

template<class Iter>
int xrpl::Serializer::addVL ( Iter begin,
Iter end,
int len )

Definition at line 291 of file Serializer.h.

◆ addVL() [4/4]

int xrpl::Serializer::addVL ( void const * ptr,
int len )

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

◆ get8()

bool xrpl::Serializer::get8 ( int & byte,
int offset ) const

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

◆ getInteger()

template<typename Integer>
bool xrpl::Serializer::getInteger ( Integer & number,
int offset )

Definition at line 136 of file Serializer.h.

◆ getBitString()

template<std::size_t Bits, typename Tag = void>
bool xrpl::Serializer::getBitString ( BaseUInt< Bits, Tag > & data,
int offset ) const

Definition at line 155 of file Serializer.h.

◆ addFieldID() [1/2]

int xrpl::Serializer::addFieldID ( int type,
int name )

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

◆ addFieldID() [2/2]

int xrpl::Serializer::addFieldID ( SerializedTypeID type,
int name )

Definition at line 166 of file Serializer.h.

◆ getSHA512Half()

uint256 xrpl::Serializer::getSHA512Half ( ) const
nodiscard

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

◆ peekData()

Blob const & xrpl::Serializer::peekData ( ) const
nodiscard

Definition at line 177 of file Serializer.h.

◆ getData()

Blob xrpl::Serializer::getData ( ) const
nodiscard

Definition at line 182 of file Serializer.h.

◆ modData()

Blob & xrpl::Serializer::modData ( )

Definition at line 187 of file Serializer.h.

◆ getDataLength()

int xrpl::Serializer::getDataLength ( ) const
nodiscard

Definition at line 193 of file Serializer.h.

◆ getDataPtr() [1/2]

void const * xrpl::Serializer::getDataPtr ( ) const
nodiscard

Definition at line 198 of file Serializer.h.

◆ getDataPtr() [2/2]

void * xrpl::Serializer::getDataPtr ( )

Definition at line 203 of file Serializer.h.

◆ getLength()

int xrpl::Serializer::getLength ( ) const
nodiscard

Definition at line 208 of file Serializer.h.

◆ getString()

std::string xrpl::Serializer::getString ( ) const
nodiscard

Definition at line 213 of file Serializer.h.

◆ erase()

void xrpl::Serializer::erase ( )

Definition at line 218 of file Serializer.h.

◆ chop()

bool xrpl::Serializer::chop ( int num)

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

◆ begin() [1/2]

Blob::iterator xrpl::Serializer::begin ( )

Definition at line 227 of file Serializer.h.

◆ end() [1/2]

Blob::iterator xrpl::Serializer::end ( )

Definition at line 232 of file Serializer.h.

◆ begin() [2/2]

Blob::const_iterator xrpl::Serializer::begin ( ) const
nodiscard

Definition at line 237 of file Serializer.h.

◆ end() [2/2]

Blob::const_iterator xrpl::Serializer::end ( ) const
nodiscard

Definition at line 242 of file Serializer.h.

◆ reserve()

void xrpl::Serializer::reserve ( size_t n)

Definition at line 247 of file Serializer.h.

◆ resize()

void xrpl::Serializer::resize ( size_t n)

Definition at line 252 of file Serializer.h.

◆ capacity()

size_t xrpl::Serializer::capacity ( ) const
nodiscard

Definition at line 257 of file Serializer.h.

◆ operator==() [1/2]

bool xrpl::Serializer::operator== ( Blob const & v) const

Definition at line 263 of file Serializer.h.

◆ operator==() [2/2]

bool xrpl::Serializer::operator== ( Serializer const & v) const

Definition at line 268 of file Serializer.h.

◆ decodeLengthLength()

int xrpl::Serializer::decodeLengthLength ( int b1)
static

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

◆ decodeVLLength() [1/3]

int xrpl::Serializer::decodeVLLength ( int b1)
static

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

◆ decodeVLLength() [2/3]

int xrpl::Serializer::decodeVLLength ( int b1,
int b2 )
static

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

◆ decodeVLLength() [3/3]

int xrpl::Serializer::decodeVLLength ( int b1,
int b2,
int b3 )
static

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

◆ encodeLengthLength()

int xrpl::Serializer::encodeLengthLength ( int length)
staticprivate

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

◆ addEncoded()

int xrpl::Serializer::addEncoded ( int length)
private

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

◆ addInteger() [2/6]

template<>
int xrpl::Serializer::addInteger ( unsigned char i)

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

◆ addInteger() [3/6]

template<>
int xrpl::Serializer::addInteger ( std::uint16_t i)

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

◆ addInteger() [4/6]

template<>
int xrpl::Serializer::addInteger ( std::uint32_t i)

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

◆ addInteger() [5/6]

template<>
int xrpl::Serializer::addInteger ( std::uint64_t i)

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

◆ addInteger() [6/6]

template<>
int xrpl::Serializer::addInteger ( std::int32_t i)

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

Member Data Documentation

◆ data_

Blob xrpl::Serializer::data_
private

Definition at line 25 of file Serializer.h.