|
rippled
|
A serializable number. More...
#include <STNumber.h>


Public Types | |
| using | value_type = Number |
Public Member Functions | |
| STNumber ()=default | |
| STNumber (SField const &field, Number const &value=Number()) | |
| STNumber (SerialIter &sit, SField const &field) | |
| SerializedTypeID | getSType () const override |
| std::string | getText () const override |
| void | add (Serializer &s) const override |
| Number const & | value () const |
| void | setValue (Number const &v) |
| STNumber & | operator= (Number const &rhs) |
| bool | isEquivalent (STBase const &t) const override |
| bool | isDefault () const override |
| void | associateAsset (Asset const &a) override |
| operator Number () const | |
| STBase () | |
| STBase (STBase const &)=default | |
| STBase (SField const &n) | |
| 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 |
| virtual std::string | getFullText () const |
| virtual Json::Value | getJson (JsonOptions=JsonOptions::none) const |
| void | setFName (SField const &n) |
| A STBase is a field. | |
| SField const & | getFName () const |
| void | addFieldID (Serializer &s) const |
Static Protected Member Functions | |
| template<class T > | |
| static STBase * | emplace (std::size_t n, void *buf, T &&val) |
Protected Attributes | |
| std::optional< Asset > | asset_ |
Private Member Functions | |
| STBase * | copy (std::size_t n, void *buf) const override |
| STBase * | move (std::size_t n, void *buf) override |
Static Private Member Functions | |
| static auto & | getCounter () noexcept |
Private Attributes | |
| Number | value_ |
| SField const * | fName |
A serializable number.
This type is-a Number, and can be used everywhere that is accepted. This type simply integrates Number with the serialization framework, letting it be used for fields in ledger entries and transactions. It is effectively an STAmount sans Asset: it can represent a value of any token type (XRP, IOU, or MPT) without paying the storage cost of duplicating asset information that may be deduced from the context.
STNumber derives from STTakesAsset, so that it can be associated with the related Asset during transaction processing. Which asset is relevant depends on the object and transaction. As of this writing, only Vault, LoanBroker, and Loan objects use STNumber fields. All of those fields represent amounts of the Vault's Asset, so they should be associated with the Vault's Asset.
e.g. associateAsset(*loanSle, asset); associateAsset(*brokerSle, asset); associateAsset(*vaultSle, asset);
Definition at line 34 of file STNumber.h.
| using xrpl::STNumber::value_type = Number |
Definition at line 40 of file STNumber.h.
|
default |
Definition at line 23 of file STNumber.cpp.
| xrpl::STNumber::STNumber | ( | SerialIter & | sit, |
| SField const & | field | ||
| ) |
Definition at line 27 of file STNumber.cpp.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 37 of file STNumber.cpp.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 43 of file STNumber.cpp.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 59 of file STNumber.cpp.
| Number const & xrpl::STNumber::value | ( | ) | const |
Definition at line 105 of file STNumber.cpp.
| void xrpl::STNumber::setValue | ( | Number const & | v | ) |
Definition at line 111 of file STNumber.cpp.
Definition at line 59 of file STNumber.h.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 129 of file STNumber.cpp.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 137 of file STNumber.cpp.
|
overridevirtual |
Reimplemented from xrpl::STTakesAsset.
Definition at line 49 of file STNumber.cpp.
| xrpl::STNumber::operator Number | ( | ) | const |
Definition at line 73 of file STNumber.h.
|
overrideprivatevirtual |
Reimplemented from xrpl::STBase.
Definition at line 117 of file STNumber.cpp.
|
overrideprivatevirtual |
Reimplemented from xrpl::STBase.
Definition at line 123 of file STNumber.cpp.
|
inherited |
Definition at line 120 of file STBase.cpp.
|
defaultinherited |
|
explicitinherited |
Definition at line 125 of file STBase.cpp.
|
inherited |
Definition at line 32 of file STBase.cpp.
|
inherited |
Definition at line 38 of file STBase.cpp.
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
Reimplemented in xrpl::STAmount, xrpl::STArray, xrpl::STLedgerEntry, xrpl::STObject, and xrpl::STTx.
Definition at line 62 of file STBase.cpp.
|
virtualinherited |
Reimplemented in xrpl::STArray, xrpl::STTx, xrpl::STLedgerEntry, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STIssue, xrpl::STPathSet, xrpl::STVector256, xrpl::STXChainBridge, xrpl::STAmount, and xrpl::STObject.
Definition at line 87 of file STBase.cpp.
|
inherited |
|
inherited |
Definition at line 122 of file STBase.cpp.
|
inherited |
Definition at line 128 of file STBase.cpp.
|
staticprotectedinherited |
|
staticprivatenoexceptinherited |
Definition at line 109 of file CountedObject.h.
|
private |
Definition at line 37 of file STNumber.h.
|
protectedinherited |
Definition at line 24 of file STTakesAsset.h.