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!= (Blob const &v) const
bool operator== (Serializer 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 20 of file Serializer.h.

Constructor & Destructor Documentation

◆ Serializer() [1/2]

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

Definition at line 27 of file Serializer.h.

◆ Serializer() [2/2]

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

Definition at line 32 of file Serializer.h.

Member Function Documentation

◆ slice()

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

Definition at line 44 of file Serializer.h.

◆ size()

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

Definition at line 50 of file Serializer.h.

◆ data()

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

Definition at line 56 of file Serializer.h.

◆ add8()

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

Definition at line 146 of file Serializer.cpp.

◆ add16()

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

Definition at line 25 of file Serializer.cpp.

◆ add32() [1/2]

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

Definition at line 70 of file Serializer.h.

◆ add32() [2/2]

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

Definition at line 34 of file Serializer.cpp.

◆ add64()

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

Definition at line 86 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 105 of file Serializer.h.

◆ addRaw() [1/4]

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

Definition at line 75 of file Serializer.cpp.

◆ addRaw() [2/4]

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

Definition at line 83 of file Serializer.cpp.

◆ addRaw() [3/4]

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

Definition at line 99 of file Serializer.cpp.

◆ addRaw() [4/4]

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

Definition at line 91 of file Serializer.cpp.

◆ addVL() [1/4]

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

Definition at line 180 of file Serializer.cpp.

◆ addVL() [2/4]

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

Definition at line 191 of file Serializer.cpp.

◆ addVL() [3/4]

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

Definition at line 300 of file Serializer.h.

◆ addVL() [4/4]

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

Definition at line 200 of file Serializer.cpp.

◆ get8()

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

Definition at line 154 of file Serializer.cpp.

◆ getInteger()

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

Definition at line 135 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 154 of file Serializer.h.

◆ addFieldID() [1/2]

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

Definition at line 107 of file Serializer.cpp.

◆ addFieldID() [2/2]

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

Definition at line 165 of file Serializer.h.

◆ getSHA512Half()

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

Definition at line 174 of file Serializer.cpp.

◆ peekData()

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

Definition at line 176 of file Serializer.h.

◆ getData()

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

Definition at line 181 of file Serializer.h.

◆ modData()

Blob & xrpl::Serializer::modData ( )

Definition at line 186 of file Serializer.h.

◆ getDataLength()

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

Definition at line 192 of file Serializer.h.

◆ getDataPtr() [1/2]

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

Definition at line 197 of file Serializer.h.

◆ getDataPtr() [2/2]

void * xrpl::Serializer::getDataPtr ( )

Definition at line 202 of file Serializer.h.

◆ getLength()

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

Definition at line 207 of file Serializer.h.

◆ getString()

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

Definition at line 212 of file Serializer.h.

◆ erase()

void xrpl::Serializer::erase ( )

Definition at line 217 of file Serializer.h.

◆ chop()

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

Definition at line 164 of file Serializer.cpp.

◆ begin() [1/2]

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

Definition at line 226 of file Serializer.h.

◆ end() [1/2]

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

Definition at line 231 of file Serializer.h.

◆ begin() [2/2]

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

Definition at line 236 of file Serializer.h.

◆ end() [2/2]

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

Definition at line 241 of file Serializer.h.

◆ reserve()

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

Definition at line 246 of file Serializer.h.

◆ resize()

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

Definition at line 251 of file Serializer.h.

◆ capacity()

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

Definition at line 256 of file Serializer.h.

◆ operator==() [1/2]

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

Definition at line 262 of file Serializer.h.

◆ operator!=() [1/2]

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

Definition at line 267 of file Serializer.h.

◆ operator==() [2/2]

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

Definition at line 272 of file Serializer.h.

◆ operator!=() [2/2]

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

Definition at line 277 of file Serializer.h.

◆ decodeLengthLength()

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

Definition at line 264 of file Serializer.cpp.

◆ decodeVLLength() [1/3]

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

Definition at line 283 of file Serializer.cpp.

◆ decodeVLLength() [2/3]

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

Definition at line 295 of file Serializer.cpp.

◆ decodeVLLength() [3/3]

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

Definition at line 307 of file Serializer.cpp.

◆ encodeLengthLength()

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

Definition at line 245 of file Serializer.cpp.

◆ addEncoded()

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

Definition at line 211 of file Serializer.cpp.

◆ addInteger() [2/6]

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

Definition at line 45 of file Serializer.cpp.

◆ addInteger() [3/6]

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

Definition at line 51 of file Serializer.cpp.

◆ addInteger() [4/6]

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

Definition at line 57 of file Serializer.cpp.

◆ addInteger() [5/6]

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

Definition at line 63 of file Serializer.cpp.

◆ addInteger() [6/6]

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

Definition at line 69 of file Serializer.cpp.

Member Data Documentation

◆ data_

Blob xrpl::Serializer::data_
private

Definition at line 24 of file Serializer.h.