20#ifndef RIPPLE_PROTOCOL_STPATHSET_H_INCLUDED 
   21#define RIPPLE_PROTOCOL_STPATHSET_H_INCLUDED 
   23#include <xrpl/basics/CountedObject.h> 
   24#include <xrpl/beast/utility/instrumentation.h> 
   25#include <xrpl/json/json_value.h> 
   26#include <xrpl/protocol/SField.h> 
   27#include <xrpl/protocol/STBase.h> 
   28#include <xrpl/protocol/UintTypes.h> 
   71        bool forceCurrency = 
false);
 
 
  137    template <
typename... Args>
 
 
  226    template <
typename... Args>
 
 
  263            "ripple::STPathElement::STPathElement : account is set");
 
  278            "ripple::STPathElement::STPathElement : issuer is set");
 
 
  290    , mAccountID(account)
 
  291    , mCurrencyID(currency)
 
  293    , is_offer_(
isXRP(mAccountID))
 
  298    if (forceCurrency || !
isXRP(currency))
 
 
  313    , mAccountID(account)
 
  314    , mCurrencyID(currency)
 
  316    , is_offer_(
isXRP(mAccountID))
 
 
  406    return mPath.empty();
 
 
  415template <
typename... Args>
 
  425    return mPath.begin();
 
 
  492    return value.begin();
 
 
  510    return value.empty();
 
 
  519template <
typename... Args>
 
Tracks the number of instances of an object.
 
A type which can be exported to a well known binary format.
 
Currency const & getCurrency() const
 
bool operator==(STPathElement const &t) const
 
static std::size_t get_hash(STPathElement const &element)
 
AccountID const & getAccountID() const
 
AccountID const & getIssuerID() const
 
STPathElement & operator=(STPathElement const &)=default
 
bool operator!=(STPathElement const &t) const
 
STPathElement(STPathElement const &)=default
 
STBase * move(std::size_t n, void *buf) override
 
bool isDefault() const override
 
std::vector< STPath >::const_iterator end() const
 
std::vector< STPath > value
 
bool isEquivalent(STBase const &t) const override
 
STBase * copy(std::size_t n, void *buf) const override
 
void push_back(STPath const &e)
 
bool assembleAdd(STPath const &base, STPathElement const &tail)
 
std::vector< STPath >::const_iterator begin() const
 
Json::Value getJson(JsonOptions) const override
 
SerializedTypeID getSType() const override
 
void add(Serializer &s) const override
 
std::vector< STPath >::const_reference operator[](std::vector< STPath >::size_type n) const
 
void emplace_back(Args &&... args)
 
std::vector< STPath >::size_type size() const
 
bool operator==(STPath const &t) const
 
std::vector< STPathElement >::const_reference front() const
 
std::vector< STPathElement >::const_iterator begin() const
 
std::vector< STPathElement > mPath
 
STPathElement & operator[](int i)
 
std::vector< STPathElement >::const_iterator end() const
 
Json::Value getJson(JsonOptions) const
 
void push_back(STPathElement const &e)
 
bool hasSeen(AccountID const &account, Currency const ¤cy, AccountID const &issuer) const
 
std::vector< STPathElement >::size_type size() const
 
std::vector< STPathElement >::const_reference back() const
 
void emplace_back(Args &&... args)
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
AccountID const & noAccount()
A placeholder for empty accounts.
 
bool isXRP(AccountID const &c)
 
Note, should be treated as flags that can be | and &.