5#include <xrpl/basics/safe_cast.h>
6#include <xrpl/json/json_value.h>
417template <
template <
typename>
class Trait>
443 template <
typename T>
445 requires(Trait<std::remove_cv_t<std::remove_reference_t<T>>>::value)
457 template <
typename T>
460 requires(Trait<T>::value)
468 operator bool()
const
484 return os << rhs.
code_;
512template <
typename L,
typename R>
522template <
typename L,
typename R>
532template <
typename L,
typename R>
534operator<(L
const& lhs, R
const& rhs) ->
bool
542template <
typename L,
typename R>
552template <
typename L,
typename R>
562template <
typename L,
typename R>
582template <
typename FROM>
613template <
typename FROM>
constexpr TERSubset & operator=(TERSubset const &rhs)=default
constexpr TERSubset(TERSubset &&rhs)=default
static constexpr TERSubset fromInt(int from)
constexpr TERSubset(int rhs)
constexpr auto operator=(T rhs) -> TERSubset &requires(Trait< T >::value)
constexpr TERSubset(TERSubset const &rhs)=default
constexpr TERSubset & operator=(TERSubset &&rhs)=default
friend constexpr TERUnderlyingType TERtoInt(TERSubset v)
constexpr TERSubset(T rhs)
friend std::ostream & operator<<(std::ostream &os, TERSubset const &rhs)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
@ telNETWORK_ID_MAKES_TX_NON_CANONICAL
@ telCAN_NOT_QUEUE_BLOCKED
@ telCAN_NOT_QUEUE_BALANCE
@ telCAN_NOT_QUEUE_BLOCKS
bool operator<(Slice const &lhs, Slice const &rhs) noexcept
@ terNO_DELEGATE_PERMISSION
bool isTerRetry(TER x) noexcept
constexpr bool operator==(BaseUInt< Bits, Tag > const &lhs, BaseUInt< Bits, Tag > const &rhs)
bool operator>=(STAmount const &lhs, STAmount const &rhs)
@ tefINVALID_LEDGER_FIX_TYPE
@ tefNFTOKEN_IS_NOT_TRANSFERABLE
std::string transHuman(TER code)
bool transResultInfo(TER code, std::string &token, std::string &text)
constexpr Dest safeCast(Src s) noexcept
std::string transToken(TER code)
bool operator!=(SecretKey const &lhs, SecretKey const &rhs)=delete
TERSubset< CanCvtToNotTEC > NotTEC
bool isTefFailure(TER x) noexcept
bool operator<=(STAmount const &lhs, STAmount const &rhs)
bool isTelLocal(TER x) noexcept
std::unordered_map< TERUnderlyingType, std::pair< char const *const, char const *const > > const & transResults()
constexpr TERUnderlyingType TERtoInt(TELcodes v)
@ temBAD_SEND_XRP_PARTIAL
@ temXCHAIN_BRIDGE_BAD_MIN_ACCOUNT_CREATE_AMOUNT
@ temXCHAIN_BRIDGE_NONDOOR_OWNER
@ temBAD_SEND_XRP_NO_DIRECT
@ temXCHAIN_BRIDGE_BAD_ISSUES
@ temXCHAIN_BRIDGE_BAD_REWARD_AMOUNT
@ temBAD_NFTOKEN_TRANSFER_FEE
@ temXCHAIN_EQUAL_DOOR_ACCOUNTS
bool isTesSuccess(TER x) noexcept
TERSubset< CanCvtToTER > TER
std::optional< TER > transCode(std::string const &token)
@ tecXCHAIN_INSUFF_CREATE_AMOUNT
@ tecCANT_ACCEPT_OWN_NFTOKEN_OFFER
@ tecNO_LINE_INSUF_RESERVE
@ tecXCHAIN_NO_SIGNERS_LIST
@ tecXCHAIN_SENDING_ACCOUNT_MISMATCH
@ tecXCHAIN_BAD_TRANSFER_ISSUE
@ tecNO_SPONSOR_PERMISSION
@ tecNO_SUITABLE_NFTOKEN_PAGE
@ tecXCHAIN_PROOF_UNKNOWN_KEY
@ tecXCHAIN_ACCOUNT_CREATE_PAST
@ tecXCHAIN_PAYMENT_FAILED
@ tecXCHAIN_ACCOUNT_CREATE_TOO_MANY
@ tecNFTOKEN_BUY_SELL_MISMATCH
@ tecXCHAIN_CREATE_ACCOUNT_NONXRP_ISSUE
@ tecNO_DELEGATE_PERMISSION
@ tecCRYPTOCONDITION_ERROR
@ tecXCHAIN_BAD_PUBLIC_KEY_ACCOUNT_PAIR
@ tecNFTOKEN_OFFER_TYPE_MISMATCH
@ tecXCHAIN_CREATE_ACCOUNT_DISABLED
@ tecINSUFFICIENT_RESERVE
@ tecXCHAIN_CLAIM_NO_QUORUM
@ tecXCHAIN_REWARD_MISMATCH
@ tecMAX_SEQUENCE_REACHED
@ tecTOKEN_PAIR_NOT_FOUND
@ tecINSUFFICIENT_PAYMENT
bool isTecClaim(TER x) noexcept
bool operator>(STAmount const &lhs, STAmount const &rhs)
bool isTemMalformed(TER x) noexcept