|
xrpld
|
#include <STPathSet.h>


Classes | |
| struct | DeduplicationTag |
Public Member Functions | |
| STPathSet ()=default | |
| STPathSet (DeduplicationTag) | |
| Deduplication tagged constructor. | |
| STPathSet (SField const &n) | |
| STPathSet (SerialIter &sit, SField const &name) | |
| STPathSet (STPathSet const &other) | |
| STPathSet (STPathSet &&)=default | |
| STPathSet & | operator= (STPathSet const &other) |
| STPathSet & | operator= (STPathSet &&)=default |
| ~STPathSet () override=default | |
| void | add (Serializer &s) const override |
| json::Value | getJson (JsonOptions) const override |
| SerializedTypeID | getSType () const override |
| bool | assembleAdd (STPath const &base, STPathElement const &tail) |
| assembleAdd adds a path to the set by combining a base path and a tail element. | |
| bool | isEquivalent (STBase const &t) const override |
| bool | isDefault () const override |
| std::vector< STPath >::const_reference | operator[] (std::vector< STPath >::size_type n) const |
| std::vector< STPath >::const_iterator | begin () const |
| std::vector< STPath >::const_iterator | end () const |
| std::vector< STPath >::size_type | size () const |
| bool | empty () const |
| bool | pushBack (STPath const &e) |
| pushBack adds a path to the set. | |
| template<typename... Args> | |
| bool | emplaceBack (Args &&... args) |
| emplaceBack adds a path to the set. | |
| 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 std::string | getText () const |
| void | setFName (SField const &n) |
| A STBase is a field. | |
| SField const & | getFName () const |
| void | addFieldID (Serializer &s) const |
Public Attributes | |
| friend | Object |
Static Protected Member Functions | |
| template<class T> | |
| static STBase * | emplace (std::size_t n, void *buf, T &&val) |
Private Member Functions | |
| STBase * | copy (std::size_t n, void *buf) const override |
| STBase * | move (std::size_t n, void *buf) override |
| template<typename Append> | |
| bool | appendUnique (Append &&append) |
| Append a path via append, then register it in the deduplication index. | |
Static Private Member Functions | |
| static auto & | getCounter () noexcept |
Private Attributes | |
| std::vector< STPath > | value_ |
| std::unique_ptr< HardenedHashSet< STPath > > | seen_ |
| Deduplication index over value_, for pathfinding. | |
| SField const * | fName_ |
Friends | |
| class | detail::STVar |
Definition at line 199 of file STPathSet.h.
|
default |
|
explicit |
Deduplication tagged constructor.
Use when you want to ensure that the STPathSet does not contain duplicate paths.
Definition at line 77 of file STPathSet.cpp.
| xrpl::STPathSet::STPathSet | ( | SField const & | n | ) |
Definition at line 600 of file STPathSet.h.
| xrpl::STPathSet::STPathSet | ( | SerialIter & | sit, |
| SField const & | name ) |
Definition at line 107 of file STPathSet.cpp.
| xrpl::STPathSet::STPathSet | ( | STPathSet const & | other | ) |
Definition at line 81 of file STPathSet.cpp.
|
default |
|
overridedefault |
Definition at line 92 of file STPathSet.cpp.
|
overridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 262 of file STPathSet.cpp.
|
nodiscardoverridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 246 of file STPathSet.cpp.
|
nodiscardoverridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 256 of file STPathSet.cpp.
| bool xrpl::STPathSet::assembleAdd | ( | STPath const & | base, |
| STPathElement const & | tail ) |
assembleAdd adds a path to the set by combining a base path and a tail element.
| base | The base path. |
| tail | The tail element. |
Definition at line 181 of file STPathSet.cpp.
|
nodiscardoverridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 190 of file STPathSet.cpp.
|
nodiscardoverridevirtual |
Reimplemented from xrpl::STBase.
Definition at line 197 of file STPathSet.cpp.
| std::vector< STPath >::const_reference xrpl::STPathSet::operator[] | ( | std::vector< STPath >::size_type | n | ) | const |
Definition at line 606 of file STPathSet.h.
|
nodiscard |
Definition at line 612 of file STPathSet.h.
|
nodiscard |
Definition at line 618 of file STPathSet.h.
|
nodiscard |
Definition at line 624 of file STPathSet.h.
|
nodiscard |
Definition at line 630 of file STPathSet.h.
| bool xrpl::STPathSet::pushBack | ( | STPath const & | e | ) |
pushBack adds a path to the set.
| e | The path to add. |
Definition at line 669 of file STPathSet.h.
| bool xrpl::STPathSet::emplaceBack | ( | Args &&... | args | ) |
emplaceBack adds a path to the set.
| args | The arguments to construct the path with. |
Definition at line 676 of file STPathSet.h.
|
overrideprivatevirtual |
Reimplemented from xrpl::STBase.
Definition at line 169 of file STPathSet.cpp.
|
overrideprivatevirtual |
Reimplemented from xrpl::STBase.
Definition at line 175 of file STPathSet.cpp.
|
private |
Append a path via append, then register it in the deduplication index.
| append | Invoked with value_; must append exactly one path to it. |
Definition at line 637 of file STPathSet.h.
|
inherited |
Definition at line 36 of file STBase.cpp.
|
inherited |
|
nodiscardinherited |
|
nodiscardvirtualinherited |
Reimplemented in xrpl::STAmount, xrpl::STArray, xrpl::STLedgerEntry, xrpl::STObject, and xrpl::STTx.
Definition at line 60 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 79 of file STBase.cpp.
|
inherited |
|
nodiscardinherited |
Definition at line 120 of file STBase.cpp.
|
inherited |
Definition at line 126 of file STBase.cpp.
|
staticprotectedinherited |
|
staticprivatenoexceptinherited |
Definition at line 113 of file CountedObject.h.
|
friend |
Definition at line 335 of file STPathSet.h.
|
private |
Definition at line 201 of file STPathSet.h.
|
private |
Deduplication index over value_, for pathfinding.
The use of a std::unique_ptr is intentional as it only requires 8 additional bytes of storage for the pointer as opposed to 64 bytes with an optional. This keeps the size of the STPathSet to within the STVar::kMaxSize limit of 72 bytes.
Definition at line 210 of file STPathSet.h.
|
inherited |
Definition at line 138 of file CountedObject.h.