rippled
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ripple::STTx Class Referencefinal
Inheritance diagram for ripple::STTx:
Inheritance graph
[legend]
Collaboration diagram for ripple::STTx:
Collaboration graph
[legend]

Public Types

enum  RequireFullyCanonicalSig : bool { RequireFullyCanonicalSig::no, RequireFullyCanonicalSig::yes }
 Check the signature. More...
 
using iterator = boost::transform_iterator< Transform, STObject::list_type::const_iterator >
 

Public Member Functions

 STTx ()=delete
 
STTxoperator= (STTx const &other)=delete
 
 STTx (STTx const &other)=default
 
 STTx (SerialIter &sit) noexcept(false)
 
 STTx (SerialIter &&sit) noexcept(false)
 
 STTx (STObject &&object) noexcept(false)
 
 STTx (TxType type, std::function< void(STObject &)> assembler)
 Constructs a transaction. More...
 
STBasecopy (std::size_t n, void *buf) const override
 
STBasemove (std::size_t n, void *buf) override
 
SerializedTypeID getSType () const override
 
std::string getFullText () const override
 
Blob getSignature () const
 
uint256 getSigningHash () const
 
TxType getTxnType () const
 
Blob getSigningPubKey () const
 
SeqProxy getSeqProxy () const
 
boost::container::flat_set< AccountIDgetMentionedAccounts () const
 
uint256 getTransactionID () const
 
Json::Value getJson (JsonOptions options) const override
 
Json::Value getJson (JsonOptions options, bool binary) const
 
void sign (PublicKey const &publicKey, SecretKey const &secretKey)
 
std::pair< bool, std::stringcheckSign (RequireFullyCanonicalSig requireCanonicalSig) const
 
std::string getMetaSQL (std::uint32_t inLedger, std::string const &escapedMetaData) const
 
std::string getMetaSQL (Serializer rawTxn, std::uint32_t inLedger, char status, std::string const &escapedMetaData) const
 
iterator begin () const
 
iterator end () const
 
bool empty () const
 
void reserve (std::size_t n)
 
void applyTemplate (const SOTemplate &type) noexcept(false)
 
void applyTemplateFromSField (SField const &) noexcept(false)
 
bool isFree () const
 
void set (const SOTemplate &)
 
bool set (SerialIter &u, int depth=0)
 
void set (std::unique_ptr< STBase > v)
 Set a field. More...
 
void set (STBase *v)
 
virtual bool isEquivalent (const STBase &t) const override
 
virtual bool isDefault () const override
 
virtual void add (Serializer &s) const override
 
void addWithoutSigningFields (Serializer &s) const
 
Serializer getSerializer () const
 
virtual std::string getText () const override
 
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
 
const STBasepeekAtIndex (int offset) const
 
STBasegetIndex (int offset)
 
const STBasepeekAtPIndex (int offset) const
 
STBasegetPIndex (int offset)
 
int getFieldIndex (SField const &field) const
 
SField const & getFieldSType (int index) const
 
const STBasepeekAtField (SField const &field) const
 
STBasegetField (SField const &field)
 
const STBasepeekAtPField (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
 
uint256 getFieldH256 (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
 
const STVector256getFieldV256 (SField const &field) const
 
const STArraygetFieldArray (SField const &field) const
 
template<class T >
T::value_type operator[] (TypedField< T > const &f) const
 Get the value of a field. More...
 
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. More...
 
template<class T >
ValueProxy< T > operator[] (TypedField< T > const &f)
 Get a modifiable field value. More...
 
template<class T >
OptionalProxy< T > operator[] (OptionaledField< T > const &of)
 Return a modifiable field value as std::optional. More...
 
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 >
T::value_type at (TypedField< T > const &f) const
 Get the value of a field. More...
 
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. More...
 
template<class T >
ValueProxy< T > at (TypedField< T > const &f)
 Get a modifiable field value. More...
 
template<class T >
OptionalProxy< T > at (OptionaledField< T > const &of)
 Return a modifiable field value as std::optional. More...
 
template<class T >
auto at (TypedField< T > const &f) -> ValueProxy< T >
 
template<class T >
auto at (OptionaledField< T > const &of) -> OptionalProxy< T >
 
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 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 setFieldPathSet (SField const &field, STPathSet const &)
 
void setFieldV256 (SField const &field, STVector256 const &v)
 
void setFieldArray (SField const &field, STArray 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 (const STBase &)
 
bool operator== (const STObject &o) const
 
bool operator== (const STBase &t) const
 
bool operator!= (const STObject &o) const
 
bool operator!= (const STBase &t) const
 
template<class D >
D & downcast ()
 
template<class D >
D const & downcast () const
 
void setFName (SField const &n)
 A STBase is a field. More...
 
SField const & getFName () const
 
void addFieldID (Serializer &s) const
 

Static Public Member Functions

static std::string const & getMetaSQLInsertReplaceHeader ()
 

Static Public Attributes

static const std::size_t minMultiSigners = 1
 
static const std::size_t maxMultiSigners = 8
 

Static Protected Member Functions

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

Protected Attributes

SField const * fName
 

Private Types

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

Private Member Functions

std::pair< bool, std::stringcheckSingleSign (RequireFullyCanonicalSig requireCanonicalSig) const
 
std::pair< bool, std::stringcheckMultiSign (RequireFullyCanonicalSig requireCanonicalSig) const
 
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)
 

Static Private Member Functions

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

Private Attributes

uint256 tid_
 
TxType tx_type_
 
list_type v_
 
SOTemplate const * mType
 

Detailed Description

Definition at line 42 of file STTx.h.

Member Typedef Documentation

◆ list_type

Definition at line 249 of file STObject.h.

◆ iterator

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

Definition at line 256 of file STObject.h.

Member Enumeration Documentation

◆ RequireFullyCanonicalSig

Check the signature.

Returns
true if valid signature. If invalid, the error message string.
Enumerator
no 
yes 

Definition at line 133 of file STTx.h.

◆ WhichFields

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

Definition at line 653 of file STObject.h.

Constructor & Destructor Documentation

◆ STTx() [1/6]

ripple::STTx::STTx ( )
delete

◆ STTx() [2/6]

ripple::STTx::STTx ( STTx const &  other)
default

◆ STTx() [3/6]

ripple::STTx::STTx ( SerialIter sit)
explicitnoexcept

Definition at line 66 of file STTx.cpp.

◆ STTx() [4/6]

ripple::STTx::STTx ( SerialIter &&  sit)
explicitnoexcept

Definition at line 56 of file STTx.h.

◆ STTx() [5/6]

ripple::STTx::STTx ( STObject &&  object)
explicitnoexcept

Definition at line 59 of file STTx.cpp.

◆ STTx() [6/6]

ripple::STTx::STTx ( TxType  type,
std::function< void(STObject &)>  assembler 
)

Constructs a transaction.

The returned transaction will have the specified type and any fields that the callback function adds to the object that's passed in.

Definition at line 82 of file STTx.cpp.

Member Function Documentation

◆ operator=()

STTx& ripple::STTx::operator= ( STTx const &  other)
delete

◆ copy()

STBase* ripple::STTx::copy ( std::size_t  n,
void *  buf 
) const
overridevirtual

Reimplemented from ripple::STObject.

Definition at line 71 of file STTx.h.

◆ move()

STBase* ripple::STTx::move ( std::size_t  n,
void *  buf 
)
overridevirtual

Reimplemented from ripple::STObject.

Definition at line 77 of file STTx.h.

◆ getSType()

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

Reimplemented from ripple::STObject.

Definition at line 84 of file STTx.h.

◆ getFullText()

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

Reimplemented from ripple::STObject.

Definition at line 101 of file STTx.cpp.

◆ getSignature()

Blob ripple::STTx::getSignature ( ) const

Definition at line 151 of file STTx.cpp.

◆ getSigningHash() [1/2]

uint256 ripple::STTx::getSigningHash ( ) const

Definition at line 145 of file STTx.cpp.

◆ getTxnType()

TxType ripple::STTx::getTxnType ( ) const

Definition at line 99 of file STTx.h.

◆ getSigningPubKey()

Blob ripple::STTx::getSigningPubKey ( ) const

Definition at line 105 of file STTx.h.

◆ getSeqProxy()

SeqProxy ripple::STTx::getSeqProxy ( ) const

Definition at line 164 of file STTx.cpp.

◆ getMentionedAccounts()

boost::container::flat_set< AccountID > ripple::STTx::getMentionedAccounts ( ) const

Definition at line 112 of file STTx.cpp.

◆ getTransactionID()

uint256 ripple::STTx::getTransactionID ( ) const

Definition at line 117 of file STTx.h.

◆ getJson() [1/2]

Json::Value ripple::STTx::getJson ( JsonOptions  options) const
overridevirtual

Reimplemented from ripple::STObject.

Definition at line 209 of file STTx.cpp.

◆ getJson() [2/2]

Json::Value ripple::STTx::getJson ( JsonOptions  options,
bool  binary 
) const

Definition at line 217 of file STTx.cpp.

◆ sign()

void ripple::STTx::sign ( PublicKey const &  publicKey,
SecretKey const &  secretKey 
)

Definition at line 179 of file STTx.cpp.

◆ checkSign()

std::pair< bool, std::string > ripple::STTx::checkSign ( RequireFullyCanonicalSig  requireCanonicalSig) const

Definition at line 190 of file STTx.cpp.

◆ getMetaSQLInsertReplaceHeader()

std::string const & ripple::STTx::getMetaSQLInsertReplaceHeader ( )
static

Definition at line 231 of file STTx.cpp.

◆ getMetaSQL() [1/2]

std::string ripple::STTx::getMetaSQL ( std::uint32_t  inLedger,
std::string const &  escapedMetaData 
) const

Definition at line 243 of file STTx.cpp.

◆ getMetaSQL() [2/2]

std::string ripple::STTx::getMetaSQL ( Serializer  rawTxn,
std::uint32_t  inLedger,
char  status,
std::string const &  escapedMetaData 
) const

Definition at line 253 of file STTx.cpp.

◆ checkSingleSign()

std::pair< bool, std::string > ripple::STTx::checkSingleSign ( RequireFullyCanonicalSig  requireCanonicalSig) const
private

Definition at line 273 of file STTx.cpp.

◆ checkMultiSign()

std::pair< bool, std::string > ripple::STTx::checkMultiSign ( RequireFullyCanonicalSig  requireCanonicalSig) const
private

Definition at line 313 of file STTx.cpp.

◆ begin()

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

Definition at line 298 of file STObject.h.

◆ end()

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

Definition at line 304 of file STObject.h.

◆ empty()

bool ripple::STObject::empty ( ) const
inherited

Definition at line 310 of file STObject.h.

◆ reserve()

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

Definition at line 316 of file STObject.h.

◆ applyTemplate()

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

Definition at line 89 of file STObject.cpp.

◆ applyTemplateFromSField()

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

Definition at line 143 of file STObject.cpp.

◆ isFree()

bool ripple::STObject::isFree ( ) const
inherited

Definition at line 328 of file STObject.h.

◆ set() [1/4]

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

Definition at line 73 of file STObject.cpp.

◆ set() [2/4]

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

Definition at line 153 of file STObject.cpp.

◆ set() [3/4]

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

Set a field.

if the field already exists, it is replaced.

Definition at line 604 of file STObject.cpp.

◆ set() [4/4]

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

◆ isEquivalent()

bool ripple::STObject::isEquivalent ( const STBase t) const
overridevirtualinherited

Reimplemented from ripple::STBase.

Definition at line 277 of file STObject.cpp.

◆ isDefault()

virtual bool ripple::STObject::isDefault ( ) const
overridevirtualinherited

Reimplemented from ripple::STBase.

Definition at line 346 of file STObject.h.

◆ add() [1/2]

virtual void ripple::STObject::add ( Serializer s) const
overridevirtualinherited

Reimplemented from ripple::STBase.

Definition at line 352 of file STObject.h.

◆ add() [2/2]

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

Definition at line 754 of file STObject.cpp.

◆ addWithoutSigningFields()

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

Definition at line 358 of file STObject.h.

◆ getSerializer()

Serializer ripple::STObject::getSerializer ( ) const
inherited

Definition at line 367 of file STObject.h.

◆ getText()

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

Reimplemented from ripple::STBase.

Reimplemented in ripple::STLedgerEntry.

Definition at line 258 of file STObject.cpp.

◆ emplace_back()

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

Definition at line 385 of file STObject.h.

◆ getCount()

int ripple::STObject::getCount ( ) const
inherited

Definition at line 392 of file STObject.h.

◆ setFlag()

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

Definition at line 424 of file STObject.cpp.

◆ clearFlag()

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

Definition at line 436 of file STObject.cpp.

◆ isFlag()

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

Definition at line 448 of file STObject.cpp.

◆ getFlags()

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

Definition at line 454 of file STObject.cpp.

◆ getHash()

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

Definition at line 312 of file STObject.cpp.

◆ getSigningHash() [2/2]

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

Definition at line 321 of file STObject.cpp.

◆ peekAtIndex()

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

Definition at line 409 of file STObject.h.

◆ getIndex()

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

Definition at line 414 of file STObject.h.

◆ peekAtPIndex()

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

Definition at line 419 of file STObject.h.

◆ getPIndex()

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

Definition at line 424 of file STObject.h.

◆ getFieldIndex()

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

Definition at line 330 of file STObject.cpp.

◆ getFieldSType()

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

Definition at line 368 of file STObject.cpp.

◆ peekAtField()

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

Definition at line 346 of file STObject.cpp.

◆ getField()

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

Definition at line 357 of file STObject.cpp.

◆ peekAtPField()

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

Definition at line 374 of file STObject.cpp.

◆ getPField()

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

Definition at line 385 of file STObject.cpp.

◆ getFieldU8()

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

Definition at line 520 of file STObject.cpp.

◆ getFieldU16()

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

Definition at line 526 of file STObject.cpp.

◆ getFieldU32()

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

Definition at line 532 of file STObject.cpp.

◆ getFieldU64()

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

Definition at line 538 of file STObject.cpp.

◆ getFieldH128()

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

Definition at line 544 of file STObject.cpp.

◆ getFieldH160()

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

Definition at line 550 of file STObject.cpp.

◆ getFieldH256()

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

Definition at line 556 of file STObject.cpp.

◆ getAccountID()

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

Definition at line 562 of file STObject.cpp.

◆ getFieldVL()

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

Definition at line 568 of file STObject.cpp.

◆ getFieldAmount()

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

Definition at line 576 of file STObject.cpp.

◆ getFieldPathSet()

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

Definition at line 583 of file STObject.cpp.

◆ getFieldV256()

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

Definition at line 590 of file STObject.cpp.

◆ getFieldArray()

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

Definition at line 597 of file STObject.cpp.

◆ operator[]() [1/6]

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

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 980 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
inherited

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 987 of file STObject.h.

◆ operator[]() [3/6]

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

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)
inherited

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.

◆ operator[]() [5/6]

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

Definition at line 994 of file STObject.h.

◆ operator[]() [6/6]

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

Definition at line 1001 of file STObject.h.

◆ at() [1/6]

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

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 1008 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
inherited

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 1034 of file STObject.h.

◆ at() [3/6]

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

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)
inherited

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() [5/6]

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

Definition at line 1054 of file STObject.h.

◆ at() [6/6]

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

Definition at line 1061 of file STObject.h.

◆ setFieldU8()

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

Definition at line 620 of file STObject.cpp.

◆ setFieldU16()

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

Definition at line 626 of file STObject.cpp.

◆ setFieldU32()

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

Definition at line 632 of file STObject.cpp.

◆ setFieldU64()

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

Definition at line 638 of file STObject.cpp.

◆ setFieldH128()

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

Definition at line 644 of file STObject.cpp.

◆ setFieldH256()

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

Definition at line 650 of file STObject.cpp.

◆ setFieldVL() [1/2]

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

Definition at line 668 of file STObject.cpp.

◆ setFieldVL() [2/2]

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

Definition at line 674 of file STObject.cpp.

◆ setAccountID()

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

Definition at line 662 of file STObject.cpp.

◆ setFieldAmount()

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

Definition at line 680 of file STObject.cpp.

◆ setFieldPathSet()

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

Definition at line 686 of file STObject.cpp.

◆ setFieldV256()

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

Definition at line 656 of file STObject.cpp.

◆ setFieldArray()

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

Definition at line 692 of file STObject.cpp.

◆ setFieldH160()

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

Definition at line 608 of file STObject.h.

◆ peekFieldObject()

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

Definition at line 412 of file STObject.cpp.

◆ peekFieldArray()

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

Definition at line 418 of file STObject.cpp.

◆ isFieldPresent()

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

Definition at line 401 of file STObject.cpp.

◆ makeFieldPresent()

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

Definition at line 465 of file STObject.cpp.

◆ makeFieldAbsent()

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

Definition at line 487 of file STObject.cpp.

◆ delField() [1/2]

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

Definition at line 502 of file STObject.cpp.

◆ delField() [2/2]

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

Definition at line 514 of file STObject.cpp.

◆ hasMatchingEntry()

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

Definition at line 216 of file STObject.cpp.

◆ operator==() [1/2]

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

Definition at line 711 of file STObject.cpp.

◆ operator==() [2/2]

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

Definition at line 45 of file STBase.cpp.

◆ operator!=() [1/2]

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

Definition at line 647 of file STObject.h.

◆ operator!=() [2/2]

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

Definition at line 51 of file STBase.cpp.

◆ getSortedFields()

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

Definition at line 779 of file STObject.cpp.

◆ getFieldByValue()

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
privateinherited

Definition at line 679 of file STObject.h.

◆ getFieldByConstRef()

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

Definition at line 706 of file STObject.h.

◆ setFieldUsingSetValue()

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

Definition at line 729 of file STObject.h.

◆ setFieldUsingAssignment()

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

Definition at line 752 of file STObject.h.

◆ peekField()

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

Definition at line 773 of file STObject.h.

◆ downcast() [1/2]

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

Definition at line 94 of file STBase.h.

◆ downcast() [2/2]

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

Definition at line 104 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 113 of file STBase.cpp.

◆ getFName()

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

Definition at line 120 of file STBase.cpp.

◆ addFieldID()

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

Definition at line 126 of file STBase.cpp.

◆ emplace()

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

Definition at line 149 of file STBase.h.

◆ getCounter()

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

Definition at line 128 of file CountedObject.h.

Member Data Documentation

◆ minMultiSigners

const std::size_t ripple::STTx::minMultiSigners = 1
static

Definition at line 45 of file STTx.h.

◆ maxMultiSigners

const std::size_t ripple::STTx::maxMultiSigners = 8
static

Definition at line 46 of file STTx.h.

◆ tid_

uint256 ripple::STTx::tid_
private

Definition at line 159 of file STTx.h.

◆ tx_type_

TxType ripple::STTx::tx_type_
private

Definition at line 160 of file STTx.h.

◆ v_

list_type ripple::STObject::v_
privateinherited

Definition at line 251 of file STObject.h.

◆ mType

SOTemplate const* ripple::STObject::mType
privateinherited

Definition at line 252 of file STObject.h.

◆ fName

SField const* ripple::STBase::fName
protectedinherited

Definition at line 145 of file STBase.h.