3#include <xrpl/basics/contract.h>
4#include <xrpl/protocol/Asset.h>
5#include <xrpl/protocol/Concepts.h>
6#include <xrpl/protocol/UintTypes.h>
33 template <Val
idPathAsset T>
34 [[nodiscard]]
constexpr bool
37 [[nodiscard]]
constexpr bool
40 template <Val
idPathAsset T>
48 template <
typename... Visitors>
50 visit(Visitors&&... visitors)
const ->
decltype(
auto)
61template <Val
idPathAsset PA>
64template <Val
idPathAsset PA>
74template <Val
idPathAsset T>
81template <Val
idPathAsset T>
82[[nodiscard]] [[nodiscard]] T
const&
101 [](
MPTID const&) {
return false; });
122template <
typename Hasher>
132 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)