rippled
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
ripple::STObject Class Reference

#include <STObject.h>

Inheritance diagram for ripple::STObject:
Inheritance graph
[legend]
Collaboration diagram for ripple::STObject:
Collaboration graph
[legend]

Classes

class  FieldErr
 
class  OptionalProxy
 
class  Proxy
 
struct  Transform
 
class  ValueProxy
 

Public Types

using iterator = boost::transform_iterator< Transform, STObject::list_type::const_iterator >
 

Public Member Functions

virtual ~STObject ()=default
 
 STObject (STObject const &)=default
 
template<typename F >
 STObject (SOTemplate const &type, SField const &name, F &&f)
 
STObjectoperator= (STObject const &)=default
 
 STObject (STObject &&)
 
STObjectoperator= (STObject &&other)
 
 STObject (SOTemplate const &type, SField const &name)
 
 STObject (SOTemplate const &type, SerialIter &sit, SField const &name)
 
 STObject (SerialIter &sit, SField const &name, int depth=0)
 
 STObject (SerialIter &&sit, SField const &name)
 
 STObject (SField const &name)
 
iterator begin () const
 
iterator end () const
 
bool empty () const
 
void reserve (std::size_t n)
 
void applyTemplate (SOTemplate const &type)
 
void applyTemplateFromSField (SField const &)
 
bool isFree () const
 
void set (SOTemplate const &)
 
bool set (SerialIter &u, int depth=0)
 
SerializedTypeID getSType () const override
 
bool isEquivalent (STBase const &t) const override
 
bool isDefault () const override
 
void add (Serializer &s) const override
 
std::string getFullText () const override
 
std::string getText () const override
 
Json::Value getJson (JsonOptions=JsonOptions::none) const override
 
void addWithoutSigningFields (Serializer &s) const
 
Serializer getSerializer () const
 
template<class... Args>
std::size_t emplace_back (Args &&... args)
 
int getCount () const
 
bool setFlag (std::uint32_t)
 
bool clearFlag (std::uint32_t)
 
bool isFlag (std::uint32_t) const
 
std::uint32_t getFlags () const
 
uint256 getHash (HashPrefix prefix) const
 
uint256 getSigningHash (HashPrefix prefix) const
 
STBase const & peekAtIndex (int offset) const
 
STBasegetIndex (int offset)
 
STBase const * peekAtPIndex (int offset) const
 
STBasegetPIndex (int offset)
 
int getFieldIndex (SField const &field) const
 
SField const & getFieldSType (int index) const
 
STBase const & peekAtField (SField const &field) const
 
STBasegetField (SField const &field)
 
STBase const * peekAtPField (SField const &field) const
 
STBasegetPField (SField const &field, bool createOkay=false)
 
unsigned char getFieldU8 (SField const &field) const
 
std::uint16_t getFieldU16 (SField const &field) const
 
std::uint32_t getFieldU32 (SField const &field) const
 
std::uint64_t getFieldU64 (SField const &field) const
 
uint128 getFieldH128 (SField const &field) const
 
uint160 getFieldH160 (SField const &field) const
 
uint192 getFieldH192 (SField const &field) const
 
uint256 getFieldH256 (SField const &field) const
 
std::int32_t getFieldI32 (SField const &field) const
 
AccountID getAccountID (SField const &field) const
 
Blob getFieldVL (SField const &field) const
 
STAmount const & getFieldAmount (SField const &field) const
 
STPathSet const & getFieldPathSet (SField const &field) const
 
STVector256 const & getFieldV256 (SField const &field) const
 
STObject getFieldObject (SField const &field) const
 
STArray const & getFieldArray (SField const &field) const
 
STCurrency const & getFieldCurrency (SField const &field) const
 
STNumber const & getFieldNumber (SField const &field) const
 
template<class T >
T::value_type operator[] (TypedField< T > const &f) const
 Get the value of a field.
 
template<class T >
std::optional< std::decay_t< typename T::value_type > > operator[] (OptionaledField< T > const &of) const
 Get the value of a field as a std::optional.
 
template<class T >
ValueProxy< T > operator[] (TypedField< T > const &f)
 Get a modifiable field value.
 
template<class T >
OptionalProxy< T > operator[] (OptionaledField< T > const &of)
 Return a modifiable field value as std::optional.
 
template<class T >
T::value_type at (TypedField< T > const &f) const
 Get the value of a field.
 
template<class T >
std::optional< std::decay_t< typename T::value_type > > at (OptionaledField< T > const &of) const
 Get the value of a field as std::optional.
 
template<class T >
ValueProxy< T > at (TypedField< T > const &f)
 Get a modifiable field value.
 
template<class T >
OptionalProxy< T > at (OptionaledField< T > const &of)
 Return a modifiable field value as std::optional.
 
void set (std::unique_ptr< STBase > v)
 Set a field.
 
void set (STBase &&v)
 
void setFieldU8 (SField const &field, unsigned char)
 
void setFieldU16 (SField const &field, std::uint16_t)
 
void setFieldU32 (SField const &field, std::uint32_t)
 
void setFieldU64 (SField const &field, std::uint64_t)
 
void setFieldH128 (SField const &field, uint128 const &)
 
void setFieldH256 (SField const &field, uint256 const &)
 
void setFieldI32 (SField const &field, std::int32_t)
 
void setFieldVL (SField const &field, Blob const &)
 
void setFieldVL (SField const &field, Slice const &)
 
void setAccountID (SField const &field, AccountID const &)
 
void setFieldAmount (SField const &field, STAmount const &)
 
void setFieldIssue (SField const &field, STIssue const &)
 
void setFieldCurrency (SField const &field, STCurrency const &)
 
void setFieldNumber (SField const &field, STNumber const &)
 
void setFieldPathSet (SField const &field, STPathSet const &)
 
void setFieldV256 (SField const &field, STVector256 const &v)
 
void setFieldArray (SField const &field, STArray const &v)
 
void setFieldObject (SField const &field, STObject const &v)
 
template<class Tag >
void setFieldH160 (SField const &field, base_uint< 160, Tag > const &v)
 
STObjectpeekFieldObject (SField const &field)
 
STArraypeekFieldArray (SField const &field)
 
bool isFieldPresent (SField const &field) const
 
STBasemakeFieldPresent (SField const &field)
 
void makeFieldAbsent (SField const &field)
 
bool delField (SField const &field)
 
void delField (int index)
 
bool hasMatchingEntry (STBase const &)
 
bool operator== (STObject const &o) const
 
bool operator!= (STObject const &o) const
 
template<class T >
auto operator[] (TypedField< T > const &f) -> ValueProxy< T >
 
template<class T >
auto operator[] (OptionaledField< T > const &of) -> OptionalProxy< T >
 
template<class T >
auto at (TypedField< T > const &f) -> ValueProxy< T >
 
template<class T >
auto at (OptionaledField< T > const &of) -> OptionalProxy< T >
 
template<typename T , typename V >
getFieldByValue (SField const &field) const
 
template<typename T , typename V >
V const & getFieldByConstRef (SField const &field, V const &empty) const
 
bool operator== (STBase const &t) const
 
bool operator!= (STBase const &t) const
 
template<class D >
D & downcast ()
 
template<class D >
D const & downcast () const
 
template<class D >
D const & downcast () const
 
void setFName (SField const &n)
 A STBase is a field.
 
SField const & getFName () const
 
void addFieldID (Serializer &s) const
 

Static Public Member Functions

static STObject makeInnerObject (SField const &name)
 

Static Protected Member Functions

template<class T >
static STBaseemplace (std::size_t n, void *buf, T &&val)
 

Private Types

enum  WhichFields : bool { omitSigningFields = false , withAllFields = true }
 
using list_type = std::vector< detail::STVar >
 

Private Member Functions

void add (Serializer &s, WhichFields whichFields) const
 
template<typename T , typename V = typename std::remove_cv<typename std::remove_reference< decltype(std::declval<T>().value())>::type, ::type >
getFieldByValue (SField const &field) const
 
template<typename T , typename V >
V const & getFieldByConstRef (SField const &field, V const &empty) const
 
template<typename T , typename V >
void setFieldUsingSetValue (SField const &field, V value)
 
template<typename T >
void setFieldUsingAssignment (SField const &field, T const &value)
 
template<typename T >
T & peekField (SField const &field)
 
STBasecopy (std::size_t n, void *buf) const override
 
STBasemove (std::size_t n, void *buf) override
 

Static Private Member Functions

static std::vector< STBase const * > getSortedFields (STObject const &objToSort, WhichFields whichFields)
 
static auto & getCounter () noexcept
 

Private Attributes

list_type v_
 
SOTemplate const * mType
 
SField const * fName
 

Friends

class detail::STVar
 

Detailed Description

Definition at line 56 of file STObject.h.

Member Typedef Documentation

◆ list_type

Definition at line 77 of file STObject.h.

◆ iterator

using ripple::STObject::iterator = boost:: transform_iterator<Transform, STObject::list_type::const_iterator>

Definition at line 83 of file STObject.h.

Member Enumeration Documentation

◆ WhichFields

enum ripple::STObject::WhichFields : bool
private
Enumerator
omitSigningFields 
withAllFields 

Definition at line 430 of file STObject.h.

Constructor & Destructor Documentation

◆ ~STObject()

virtual ripple::STObject::~STObject ( )
virtualdefault

◆ STObject() [1/8]

ripple::STObject::STObject ( STObject const &  )
default

◆ STObject() [2/8]

template<typename F >
ripple::STObject::STObject ( SOTemplate const &  type,
SField const &  name,
F &&  f 
)

Definition at line 90 of file STObject.h.

◆ STObject() [3/8]

ripple::STObject::STObject ( STObject &&  other)

Definition at line 63 of file STObject.cpp.

◆ STObject() [4/8]

ripple::STObject::STObject ( SOTemplate const &  type,
SField const &  name 
)

Definition at line 72 of file STObject.cpp.

◆ STObject() [5/8]

ripple::STObject::STObject ( SOTemplate const &  type,
SerialIter sit,
SField const &  name 
)

Definition at line 77 of file STObject.cpp.

◆ STObject() [6/8]

ripple::STObject::STObject ( SerialIter sit,
SField const &  name,
int  depth = 0 
)
noexcept

Definition at line 85 of file STObject.cpp.

◆ STObject() [7/8]

ripple::STObject::STObject ( SerialIter &&  sit,
SField const &  name 
)

Definition at line 927 of file STObject.h.

◆ STObject() [8/8]

ripple::STObject::STObject ( SField const &  name)
explicit

Definition at line 68 of file STObject.cpp.

Member Function Documentation

◆ operator=() [1/2]

STObject & ripple::STObject::operator= ( STObject const &  )
default

◆ operator=() [2/2]

STObject & ripple::STObject::operator= ( STObject &&  other)

Definition at line 147 of file STObject.cpp.

◆ makeInnerObject()

STObject ripple::STObject::makeInnerObject ( SField const &  name)
static

Definition at line 95 of file STObject.cpp.

◆ begin()

STObject::iterator ripple::STObject::begin ( ) const

Definition at line 933 of file STObject.h.

◆ end()

STObject::iterator ripple::STObject::end ( ) const

Definition at line 939 of file STObject.h.

◆ empty()

bool ripple::STObject::empty ( ) const

Definition at line 945 of file STObject.h.

◆ reserve()

void ripple::STObject::reserve ( std::size_t  n)

Definition at line 951 of file STObject.h.

◆ applyTemplate()

void ripple::STObject::applyTemplate ( SOTemplate const &  type)

Definition at line 172 of file STObject.cpp.

◆ applyTemplateFromSField()

void ripple::STObject::applyTemplateFromSField ( SField const &  sField)

Definition at line 226 of file STObject.cpp.

◆ isFree()

bool ripple::STObject::isFree ( ) const

Definition at line 957 of file STObject.h.

◆ set() [1/4]

void ripple::STObject::set ( SOTemplate const &  type)

Definition at line 156 of file STObject.cpp.

◆ set() [2/4]

bool ripple::STObject::set ( SerialIter u,
int  depth = 0 
)

Definition at line 236 of file STObject.cpp.

◆ getSType()

SerializedTypeID ripple::STObject::getSType ( ) const
overridevirtual

Reimplemented from ripple::STBase.

Reimplemented in ripple::STTx.

Definition at line 129 of file STObject.cpp.

◆ isEquivalent()

bool ripple::STObject::isEquivalent ( STBase const &  t) const
overridevirtual

Reimplemented from ripple::STBase.

Definition at line 360 of file STObject.cpp.

◆ isDefault()

bool ripple::STObject::isDefault ( ) const
overridevirtual

Reimplemented from ripple::STBase.

Definition at line 135 of file STObject.cpp.

◆ add() [1/2]

void ripple::STObject::add ( Serializer s) const
overridevirtual

Reimplemented from ripple::STBase.

Definition at line 141 of file STObject.cpp.

◆ getFullText()

std::string ripple::STObject::getFullText ( ) const
overridevirtual

Reimplemented from ripple::STBase.

Reimplemented in ripple::STTx.

Definition at line 310 of file STObject.cpp.

◆ getText()

std::string ripple::STObject::getText ( ) const
overridevirtual

Reimplemented from ripple::STBase.

Definition at line 341 of file STObject.cpp.

◆ getJson()

Json::Value ripple::STObject::getJson ( JsonOptions  options = JsonOptions::none) const
overridevirtual

Reimplemented from ripple::STBase.

Reimplemented in ripple::STTx.

Definition at line 853 of file STObject.cpp.

◆ addWithoutSigningFields()

void ripple::STObject::addWithoutSigningFields ( Serializer s) const

Definition at line 963 of file STObject.h.

◆ getSerializer()

Serializer ripple::STObject::getSerializer ( ) const

Definition at line 972 of file STObject.h.

◆ emplace_back()

template<class... Args>
std::size_t ripple::STObject::emplace_back ( Args &&...  args)

Definition at line 981 of file STObject.h.

◆ getCount()

int ripple::STObject::getCount ( ) const

Definition at line 988 of file STObject.h.

◆ setFlag()

bool ripple::STObject::setFlag ( std::uint32_t  f)

Definition at line 507 of file STObject.cpp.

◆ clearFlag()

bool ripple::STObject::clearFlag ( std::uint32_t  f)

Definition at line 519 of file STObject.cpp.

◆ isFlag()

bool ripple::STObject::isFlag ( std::uint32_t  f) const

Definition at line 531 of file STObject.cpp.

◆ getFlags()

std::uint32_t ripple::STObject::getFlags ( void  ) const

Definition at line 537 of file STObject.cpp.

◆ getHash()

uint256 ripple::STObject::getHash ( HashPrefix  prefix) const

Definition at line 395 of file STObject.cpp.

◆ getSigningHash()

uint256 ripple::STObject::getSigningHash ( HashPrefix  prefix) const

Definition at line 404 of file STObject.cpp.

◆ peekAtIndex()

STBase const & ripple::STObject::peekAtIndex ( int  offset) const

Definition at line 994 of file STObject.h.

◆ getIndex()

STBase & ripple::STObject::getIndex ( int  offset)

Definition at line 1000 of file STObject.h.

◆ peekAtPIndex()

STBase const * ripple::STObject::peekAtPIndex ( int  offset) const

Definition at line 1006 of file STObject.h.

◆ getPIndex()

STBase * ripple::STObject::getPIndex ( int  offset)

Definition at line 1012 of file STObject.h.

◆ getFieldIndex()

int ripple::STObject::getFieldIndex ( SField const &  field) const

Definition at line 413 of file STObject.cpp.

◆ getFieldSType()

SField const & ripple::STObject::getFieldSType ( int  index) const

Definition at line 451 of file STObject.cpp.

◆ peekAtField()

STBase const & ripple::STObject::peekAtField ( SField const &  field) const

Definition at line 429 of file STObject.cpp.

◆ getField()

STBase & ripple::STObject::getField ( SField const &  field)

Definition at line 440 of file STObject.cpp.

◆ peekAtPField()

STBase const * ripple::STObject::peekAtPField ( SField const &  field) const

Definition at line 457 of file STObject.cpp.

◆ getPField()

STBase * ripple::STObject::getPField ( SField const &  field,
bool  createOkay = false 
)

Definition at line 468 of file STObject.cpp.

◆ getFieldU8()

unsigned char ripple::STObject::getFieldU8 ( SField const &  field) const

Definition at line 603 of file STObject.cpp.

◆ getFieldU16()

std::uint16_t ripple::STObject::getFieldU16 ( SField const &  field) const

Definition at line 609 of file STObject.cpp.

◆ getFieldU32()

std::uint32_t ripple::STObject::getFieldU32 ( SField const &  field) const

Definition at line 615 of file STObject.cpp.

◆ getFieldU64()

std::uint64_t ripple::STObject::getFieldU64 ( SField const &  field) const

Definition at line 621 of file STObject.cpp.

◆ getFieldH128()

uint128 ripple::STObject::getFieldH128 ( SField const &  field) const

Definition at line 627 of file STObject.cpp.

◆ getFieldH160()

uint160 ripple::STObject::getFieldH160 ( SField const &  field) const

Definition at line 633 of file STObject.cpp.

◆ getFieldH192()

uint192 ripple::STObject::getFieldH192 ( SField const &  field) const

Definition at line 639 of file STObject.cpp.

◆ getFieldH256()

uint256 ripple::STObject::getFieldH256 ( SField const &  field) const

Definition at line 645 of file STObject.cpp.

◆ getFieldI32()

std::int32_t ripple::STObject::getFieldI32 ( SField const &  field) const

Definition at line 651 of file STObject.cpp.

◆ getAccountID()

AccountID ripple::STObject::getAccountID ( SField const &  field) const

Definition at line 657 of file STObject.cpp.

◆ getFieldVL()

Blob ripple::STObject::getFieldVL ( SField const &  field) const

Definition at line 663 of file STObject.cpp.

◆ getFieldAmount()

STAmount const & ripple::STObject::getFieldAmount ( SField const &  field) const

Definition at line 671 of file STObject.cpp.

◆ getFieldPathSet()

STPathSet const & ripple::STObject::getFieldPathSet ( SField const &  field) const

Definition at line 678 of file STObject.cpp.

◆ getFieldV256()

STVector256 const & ripple::STObject::getFieldV256 ( SField const &  field) const

Definition at line 685 of file STObject.cpp.

◆ getFieldObject()

STObject ripple::STObject::getFieldObject ( SField const &  field) const

Definition at line 692 of file STObject.cpp.

◆ getFieldArray()

STArray const & ripple::STObject::getFieldArray ( SField const &  field) const

Definition at line 702 of file STObject.cpp.

◆ getFieldCurrency()

STCurrency const & ripple::STObject::getFieldCurrency ( SField const &  field) const

Definition at line 709 of file STObject.cpp.

◆ getFieldNumber()

STNumber const & ripple::STObject::getFieldNumber ( SField const &  field) const

Definition at line 716 of file STObject.cpp.

◆ operator[]() [1/6]

template<class T >
T::value_type ripple::STObject::operator[] ( TypedField< T > const &  f) const

Get the value of a field.

Parameters
ATypedField built from an SField value representing the desired object field. In typical use, the TypedField will be implicitly constructed.
Returns
The value of the specified field.
Exceptions
STObject::FieldErrif the field is not present.

Definition at line 1019 of file STObject.h.

◆ operator[]() [2/6]

template<class T >
std::optional< std::decay_t< typename T::value_type > > ripple::STObject::operator[] ( OptionaledField< T > const &  of) const

Get the value of a field as a std::optional.

Parameters
AnOptionaledField built from an SField value representing the desired object field. In typical use, the OptionaledField will be constructed by using the ~ operator on an SField.
Returns
std::nullopt if the field is not present, else the value of the specified field.

Definition at line 1026 of file STObject.h.

◆ operator[]() [3/6]

template<class T >
ValueProxy< T > ripple::STObject::operator[] ( TypedField< T > const &  f)

Get a modifiable field value.

Parameters
ATypedField built from an SField value representing the desired object field. In typical use, the TypedField will be implicitly constructed.
Returns
A modifiable reference to the value of the specified field.
Exceptions
STObject::FieldErrif the field is not present.

◆ operator[]() [4/6]

template<class T >
OptionalProxy< T > ripple::STObject::operator[] ( OptionaledField< T > const &  of)

Return a modifiable field value as std::optional.

Parameters
AnOptionaledField built from an SField value representing the desired object field. In typical use, the OptionaledField will be constructed by using the ~ operator on an SField.
Returns
Transparent proxy object to an optional holding a modifiable reference to the value of the specified field. Returns std::nullopt if the field is not present.

◆ at() [1/6]

template<class T >
T::value_type ripple::STObject::at ( TypedField< T > const &  f) const

Get the value of a field.

Parameters
ATypedField built from an SField value representing the desired object field. In typical use, the TypedField will be implicitly constructed.
Returns
The value of the specified field.
Exceptions
STObject::FieldErrif the field is not present.

Definition at line 1047 of file STObject.h.

◆ at() [2/6]

template<class T >
std::optional< std::decay_t< typename T::value_type > > ripple::STObject::at ( OptionaledField< T > const &  of) const

Get the value of a field as std::optional.

Parameters
AnOptionaledField built from an SField value representing the desired object field. In typical use, the OptionaledField will be constructed by using the ~ operator on an SField.
Returns
std::nullopt if the field is not present, else the value of the specified field.

Definition at line 1080 of file STObject.h.

◆ at() [3/6]

template<class T >
ValueProxy< T > ripple::STObject::at ( TypedField< T > const &  f)

Get a modifiable field value.

Parameters
ATypedField built from an SField value representing the desired object field. In typical use, the TypedField will be implicitly constructed.
Returns
A modifiable reference to the value of the specified field.
Exceptions
STObject::FieldErrif the field is not present.

◆ at() [4/6]

template<class T >
OptionalProxy< T > ripple::STObject::at ( OptionaledField< T > const &  of)

Return a modifiable field value as std::optional.

Parameters
AnOptionaledField built from an SField value representing the desired object field. In typical use, the OptionaledField will be constructed by using the ~ operator on an SField.
Returns
Transparent proxy object to an optional holding a modifiable reference to the value of the specified field. Returns std::nullopt if the field is not present.

◆ set() [3/4]

void ripple::STObject::set ( std::unique_ptr< STBase v)

Set a field.

if the field already exists, it is replaced.

Definition at line 723 of file STObject.cpp.

◆ set() [4/4]

void ripple::STObject::set ( STBase &&  v)

Definition at line 729 of file STObject.cpp.

◆ setFieldU8()

void ripple::STObject::setFieldU8 ( SField const &  field,
unsigned char  v 
)

Definition at line 745 of file STObject.cpp.

◆ setFieldU16()

void ripple::STObject::setFieldU16 ( SField const &  field,
std::uint16_t  v 
)

Definition at line 751 of file STObject.cpp.

◆ setFieldU32()

void ripple::STObject::setFieldU32 ( SField const &  field,
std::uint32_t  v 
)

Definition at line 757 of file STObject.cpp.

◆ setFieldU64()

void ripple::STObject::setFieldU64 ( SField const &  field,
std::uint64_t  v 
)

Definition at line 763 of file STObject.cpp.

◆ setFieldH128()

void ripple::STObject::setFieldH128 ( SField const &  field,
uint128 const &  v 
)

Definition at line 769 of file STObject.cpp.

◆ setFieldH256()

void ripple::STObject::setFieldH256 ( SField const &  field,
uint256 const &  v 
)

Definition at line 775 of file STObject.cpp.

◆ setFieldI32()

void ripple::STObject::setFieldI32 ( SField const &  field,
std::int32_t  v 
)

Definition at line 781 of file STObject.cpp.

◆ setFieldVL() [1/2]

void ripple::STObject::setFieldVL ( SField const &  field,
Blob const &  v 
)

Definition at line 799 of file STObject.cpp.

◆ setFieldVL() [2/2]

void ripple::STObject::setFieldVL ( SField const &  field,
Slice const &  s 
)

Definition at line 805 of file STObject.cpp.

◆ setAccountID()

void ripple::STObject::setAccountID ( SField const &  field,
AccountID const &  v 
)

Definition at line 793 of file STObject.cpp.

◆ setFieldAmount()

void ripple::STObject::setFieldAmount ( SField const &  field,
STAmount const &  v 
)

Definition at line 811 of file STObject.cpp.

◆ setFieldIssue()

void ripple::STObject::setFieldIssue ( SField const &  field,
STIssue const &  v 
)

Definition at line 823 of file STObject.cpp.

◆ setFieldCurrency()

void ripple::STObject::setFieldCurrency ( SField const &  field,
STCurrency const &  v 
)

Definition at line 817 of file STObject.cpp.

◆ setFieldNumber()

void ripple::STObject::setFieldNumber ( SField const &  field,
STNumber const &  v 
)

Definition at line 829 of file STObject.cpp.

◆ setFieldPathSet()

void ripple::STObject::setFieldPathSet ( SField const &  field,
STPathSet const &  v 
)

Definition at line 835 of file STObject.cpp.

◆ setFieldV256()

void ripple::STObject::setFieldV256 ( SField const &  field,
STVector256 const &  v 
)

Definition at line 787 of file STObject.cpp.

◆ setFieldArray()

void ripple::STObject::setFieldArray ( SField const &  field,
STArray const &  v 
)

Definition at line 841 of file STObject.cpp.

◆ setFieldObject()

void ripple::STObject::setFieldObject ( SField const &  field,
STObject const &  v 
)

Definition at line 847 of file STObject.cpp.

◆ setFieldH160()

template<class Tag >
void ripple::STObject::setFieldH160 ( SField const &  field,
base_uint< 160, Tag > const &  v 
)

Definition at line 1122 of file STObject.h.

◆ peekFieldObject()

STObject & ripple::STObject::peekFieldObject ( SField const &  field)

Definition at line 495 of file STObject.cpp.

◆ peekFieldArray()

STArray & ripple::STObject::peekFieldArray ( SField const &  field)

Definition at line 501 of file STObject.cpp.

◆ isFieldPresent()

bool ripple::STObject::isFieldPresent ( SField const &  field) const

Definition at line 484 of file STObject.cpp.

◆ makeFieldPresent()

STBase * ripple::STObject::makeFieldPresent ( SField const &  field)

Definition at line 548 of file STObject.cpp.

◆ makeFieldAbsent()

void ripple::STObject::makeFieldAbsent ( SField const &  field)

Definition at line 570 of file STObject.cpp.

◆ delField() [1/2]

bool ripple::STObject::delField ( SField const &  field)

Definition at line 585 of file STObject.cpp.

◆ delField() [2/2]

void ripple::STObject::delField ( int  index)

Definition at line 597 of file STObject.cpp.

◆ hasMatchingEntry()

bool ripple::STObject::hasMatchingEntry ( STBase const &  t)

Definition at line 299 of file STObject.cpp.

◆ operator==() [1/2]

bool ripple::STObject::operator== ( STObject const &  o) const

Definition at line 866 of file STObject.cpp.

◆ operator!=() [1/2]

bool ripple::STObject::operator!= ( STObject const &  o) const

Definition at line 1140 of file STObject.h.

◆ add() [2/2]

void ripple::STObject::add ( Serializer s,
WhichFields  whichFields 
) const
private

Definition at line 909 of file STObject.cpp.

◆ getSortedFields()

std::vector< STBase const * > ripple::STObject::getSortedFields ( STObject const &  objToSort,
WhichFields  whichFields 
)
staticprivate

Definition at line 935 of file STObject.cpp.

◆ getFieldByValue() [1/2]

template<typename T , typename V = typename std::remove_cv<typename std::remove_reference< decltype(std::declval<T>().value())>::type, ::type >
V ripple::STObject::getFieldByValue ( SField const &  field) const
private

◆ getFieldByConstRef() [1/2]

template<typename T , typename V >
V const & ripple::STObject::getFieldByConstRef ( SField const &  field,
V const &  empty 
) const
private

◆ setFieldUsingSetValue()

template<typename T , typename V >
void ripple::STObject::setFieldUsingSetValue ( SField const &  field,
value 
)
private

Definition at line 1197 of file STObject.h.

◆ setFieldUsingAssignment()

template<typename T >
void ripple::STObject::setFieldUsingAssignment ( SField const &  field,
T const &  value 
)
private

Definition at line 1220 of file STObject.h.

◆ peekField()

template<typename T >
T & ripple::STObject::peekField ( SField const &  field)
private

Definition at line 1241 of file STObject.h.

◆ copy()

STBase * ripple::STObject::copy ( std::size_t  n,
void *  buf 
) const
overrideprivatevirtual

Reimplemented from ripple::STBase.

Reimplemented in ripple::STTx, and ripple::STValidation.

Definition at line 117 of file STObject.cpp.

◆ move()

STBase * ripple::STObject::move ( std::size_t  n,
void *  buf 
)
overrideprivatevirtual

Reimplemented from ripple::STBase.

Reimplemented in ripple::STTx, and ripple::STValidation.

Definition at line 123 of file STObject.cpp.

◆ operator[]() [5/6]

template<class T >
auto ripple::STObject::operator[] ( TypedField< T > const &  f) -> ValueProxy<T>

Definition at line 1033 of file STObject.h.

◆ operator[]() [6/6]

template<class T >
auto ripple::STObject::operator[] ( OptionaledField< T > const &  of) -> OptionalProxy<T>

Definition at line 1040 of file STObject.h.

◆ at() [5/6]

template<class T >
auto ripple::STObject::at ( TypedField< T > const &  f) -> ValueProxy<T>

Definition at line 1108 of file STObject.h.

◆ at() [6/6]

template<class T >
auto ripple::STObject::at ( OptionaledField< T > const &  of) -> OptionalProxy<T>

Definition at line 1115 of file STObject.h.

◆ getFieldByValue() [2/2]

template<typename T , typename V >
V ripple::STObject::getFieldByValue ( SField const &  field) const

Definition at line 1147 of file STObject.h.

◆ getFieldByConstRef() [2/2]

template<typename T , typename V >
V const & ripple::STObject::getFieldByConstRef ( SField const &  field,
V const &  empty 
) const

Definition at line 1174 of file STObject.h.

◆ operator==() [2/2]

bool ripple::STBase::operator== ( STBase const &  t) const
inherited

Definition at line 51 of file STBase.cpp.

◆ operator!=() [2/2]

bool ripple::STBase::operator!= ( STBase const &  t) const
inherited

Definition at line 57 of file STBase.cpp.

◆ downcast() [1/3]

template<class D >
D & ripple::STBase::downcast ( )
inherited

Definition at line 213 of file STBase.h.

◆ downcast() [2/3]

template<class D >
D const & ripple::STBase::downcast ( ) const
inherited

◆ downcast() [3/3]

template<class D >
D const & ripple::STBase::downcast ( ) const
inherited

Definition at line 223 of file STBase.h.

◆ setFName()

void ripple::STBase::setFName ( SField const &  n)
inherited

A STBase is a field.

This sets the name.

Definition at line 136 of file STBase.cpp.

◆ getFName()

SField const & ripple::STBase::getFName ( ) const
inherited

Definition at line 143 of file STBase.cpp.

◆ addFieldID()

void ripple::STBase::addFieldID ( Serializer s) const
inherited

Definition at line 149 of file STBase.cpp.

◆ emplace()

template<class T >
STBase * ripple::STBase::emplace ( std::size_t  n,
void *  buf,
T &&  val 
)
staticprotectedinherited

Definition at line 233 of file STBase.h.

◆ getCounter()

static auto & ripple::CountedObject< STObject >::getCounter ( )
staticprivatenoexceptinherited

Definition at line 129 of file CountedObject.h.

Friends And Related Symbol Documentation

◆ detail::STVar

friend class detail::STVar
friend

Definition at line 487 of file STObject.h.

Member Data Documentation

◆ v_

list_type ripple::STObject::v_
private

Definition at line 79 of file STObject.h.

◆ mType

SOTemplate const* ripple::STObject::mType
private

Definition at line 80 of file STObject.h.

◆ fName

SField const* ripple::STBase::fName
privateinherited

Definition at line 136 of file STBase.h.