3#include <xrpl/protocol/Asset.h>
4#include <xrpl/protocol/Concepts.h>
26 template <Val
idPathAsset T>
27 [[nodiscard]]
constexpr bool
30 [[nodiscard]]
constexpr bool
33 template <Val
idPathAsset T>
41 template <
typename... Visitors>
43 visit(Visitors&&... visitors)
const ->
decltype(
auto)
54template <Val
idPathAsset PA>
57template <Val
idPathAsset PA>
67template <Val
idPathAsset T>
74template <Val
idPathAsset T>
75[[nodiscard]] [[nodiscard]] T
const&
94 [](
MPTID const&) {
return false; });
115template <
typename Hasher>
125 return asset.
isXRP();
constexpr auto visit(Visitors &&... visitors) const -> decltype(auto)
A currency issued by an account.
constexpr bool isXRP() const
constexpr auto visit(Visitors &&... visitors) const -> decltype(auto)
constexpr bool holds() const
PathAsset(MPTID const &mpt)
constexpr std::variant< Currency, MPTID > const & value() const
std::variant< Currency, MPTID > easset_
friend constexpr bool operator==(PathAsset const &lhs, PathAsset const &rhs)
PathAsset(Currency const ¤cy)
T holds_alternative(T... args)
constexpr auto visit(Variant &&v, Visitors &&... visitors) -> decltype(auto)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
constexpr bool operator==(BaseUInt< Bits, Tag > const &lhs, BaseUInt< Bits, Tag > const &rhs)
constexpr bool kIsCurrencyV
bool isXRP(AccountID const &c)
BaseUInt< 160, detail::CurrencyTag > Currency
Currency is a hash representing a specific currency.
std::ostream & operator<<(std::ostream &out, BaseUInt< Bits, Tag > const &u)
std::string to_string(BaseUInt< Bits, Tag > const &a)
BaseUInt< 192 > MPTID
MPTID is a 192-bit value representing MPT Issuance ID, which is a concatenation of a 32-bit sequence ...
void hash_append(Hasher &h, Slice const &v)
XRPL_NO_SANITIZE_ADDRESS void Throw(Args &&... args)