|
xrpld
|
Intermediate class for any STBase-derived class to store an Asset. More...
#include <STTakesAsset.h>


Public Member Functions | |
| virtual void | associateAsset (Asset const &a) |
| STBase () | |
| STBase (STBase const &)=default | |
| STBase (SField const &n) | |
| STBase & | operator= (STBase const &t) |
| 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 SerializedTypeID | getSType () const |
| virtual std::string | getFullText () const |
| virtual std::string | getText () const |
| virtual json::Value | getJson (JsonOptions=JsonOptions::Values::None) const |
| virtual void | add (Serializer &s) const |
| virtual bool | isEquivalent (STBase const &t) const |
| virtual bool | isDefault () 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 | |
| virtual STBase * | copy (std::size_t n, void *buf) const |
| virtual STBase * | move (std::size_t n, void *buf) |
Private Attributes | |
| SField const * | fName_ |
Intermediate class for any STBase-derived class to store an Asset.
In the class definition, this class should be specified as a base class instead of STBase.
Specifically, the Asset is only stored and used at runtime. It should not be serialized to the ledger.
The derived class decides what to do with the Asset, and when. It will not necessarily be set at any given time. As of this writing, only STNumber uses it to round the stored Number to the Asset's precision both when associated, and when serializing the Number.
Definition at line 21 of file STTakesAsset.h.
|
virtual |
Reimplemented in xrpl::STNumber.
Definition at line 35 of file STTakesAsset.h.
Definition at line 122 of file STBase.cpp.
|
default |
|
explicit |
Definition at line 127 of file STBase.cpp.
Definition at line 125 of file STBase.cpp.
|
inherited |
Definition at line 36 of file STBase.cpp.
|
inherited |
Definition at line 42 of file STBase.cpp.
|
inherited |
|
nodiscardinherited |
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STLedgerEntry, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STTx, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 60 of file STBase.cpp.
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAmount, xrpl::STArray, xrpl::STLedgerEntry, xrpl::STObject, and xrpl::STTx.
Definition at line 66 of file STBase.cpp.
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STLedgerEntry, xrpl::STNumber, xrpl::STObject, and xrpl::STXChainBridge.
Definition at line 85 of file STBase.cpp.
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAmount, xrpl::STArray, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STLedgerEntry, xrpl::STObject, xrpl::STPathSet, xrpl::STTx, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 91 of file STBase.cpp.
|
virtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 97 of file STBase.cpp.
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 106 of file STBase.cpp.
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 113 of file STBase.cpp.
|
inherited |
|
nodiscardinherited |
Definition at line 126 of file STBase.cpp.
|
inherited |
Definition at line 132 of file STBase.cpp.
|
staticprotectedinherited |
|
privatevirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STLedgerEntry, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STTx, xrpl::STValidation, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 48 of file STBase.cpp.
|
privatevirtualinherited |
Reimplemented in xrpl::STAccount, xrpl::STAmount, xrpl::STArray, xrpl::STBitString< Bits >, xrpl::STBitString< 128 >, xrpl::STBitString< 160 >, xrpl::STBitString< 192 >, xrpl::STBitString< 256 >, xrpl::STBlob, xrpl::STCurrency, xrpl::STInteger< Integer >, xrpl::STInteger< std::int32_t >, xrpl::STInteger< std::uint16_t >, xrpl::STInteger< std::uint32_t >, xrpl::STInteger< std::uint64_t >, xrpl::STInteger< unsigned char >, xrpl::STIssue, xrpl::STLedgerEntry, xrpl::STNumber, xrpl::STObject, xrpl::STPathSet, xrpl::STTx, xrpl::STValidation, xrpl::STVector256, and xrpl::STXChainBridge.
Definition at line 54 of file STBase.cpp.
|
protected |
Definition at line 24 of file STTakesAsset.h.