20#ifndef RIPPLE_PROTOCOL_TER_H_INCLUDED
21#define RIPPLE_PROTOCOL_TER_H_INCLUDED
23#include <xrpl/basics/safe_cast.h>
24#include <xrpl/json/json_value.h>
377 return safe_cast<TERUnderlyingType>(v);
383 return safe_cast<TERUnderlyingType>(v);
389 return safe_cast<TERUnderlyingType>(v);
395 return safe_cast<TERUnderlyingType>(v);
401 return safe_cast<TERUnderlyingType>(v);
407 return safe_cast<TERUnderlyingType>(v);
413template <
template <
typename>
class Trait>
442 Trait<std::remove_cv_t<std::remove_reference_t<T>>>::value>>
454 template <
typename T>
464 operator bool()
const
480 return os << rhs.
code_;
508template <
typename L,
typename R>
519template <
typename L,
typename R>
530template <
typename L,
typename R>
541template <
typename L,
typename R>
552template <
typename L,
typename R>
563template <
typename L,
typename R>
584template <
typename FROM>
615template <
typename FROM>
constexpr TERSubset(TERSubset const &rhs)=default
constexpr TERSubset & operator=(TERSubset const &rhs)=default
constexpr TERSubset(T rhs)
friend constexpr TERUnderlyingType TERtoInt(TERSubset v)
constexpr TERSubset(int rhs)
constexpr auto operator=(T rhs) -> std::enable_if_t< Trait< T >::value, TERSubset & >
constexpr TERSubset(TERSubset &&rhs)=default
static constexpr TERSubset fromInt(int from)
friend std::ostream & operator<<(std::ostream &os, TERSubset const &rhs)
constexpr TERSubset & operator=(TERSubset &&rhs)=default
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
bool operator<=(STAmount const &lhs, STAmount const &rhs)
std::string transHuman(TER code)
bool operator!=(Buffer const &lhs, Buffer const &rhs) noexcept
@ telCAN_NOT_QUEUE_BLOCKED
@ telNETWORK_ID_MAKES_TX_NON_CANONICAL
@ telCAN_NOT_QUEUE_BALANCE
@ telCAN_NOT_QUEUE_BLOCKS
@ tefNFTOKEN_IS_NOT_TRANSFERABLE
@ tefINVALID_LEDGER_FIX_TYPE
bool isTefFailure(TER x) noexcept
bool operator>(STAmount const &lhs, STAmount const &rhs)
std::string transToken(TER code)
@ tecNO_DELEGATE_PERMISSION
@ tecCRYPTOCONDITION_ERROR
@ tecNO_SUITABLE_NFTOKEN_PAGE
@ tecNO_LINE_INSUF_RESERVE
@ tecXCHAIN_INSUFF_CREATE_AMOUNT
@ tecXCHAIN_CREATE_ACCOUNT_DISABLED
@ tecXCHAIN_CREATE_ACCOUNT_NONXRP_ISSUE
@ tecNFTOKEN_OFFER_TYPE_MISMATCH
@ tecXCHAIN_PAYMENT_FAILED
@ tecXCHAIN_CLAIM_NO_QUORUM
@ tecXCHAIN_PROOF_UNKNOWN_KEY
@ tecNFTOKEN_BUY_SELL_MISMATCH
@ tecXCHAIN_ACCOUNT_CREATE_PAST
@ tecXCHAIN_BAD_TRANSFER_ISSUE
@ tecXCHAIN_REWARD_MISMATCH
@ tecMAX_SEQUENCE_REACHED
@ tecXCHAIN_SENDING_ACCOUNT_MISMATCH
@ tecINSUFFICIENT_PAYMENT
@ tecXCHAIN_BAD_PUBLIC_KEY_ACCOUNT_PAIR
@ tecXCHAIN_NO_SIGNERS_LIST
@ tecINSUFFICIENT_RESERVE
@ tecXCHAIN_ACCOUNT_CREATE_TOO_MANY
@ tecCANT_ACCEPT_OWN_NFTOKEN_OFFER
@ tecTOKEN_PAIR_NOT_FOUND
bool isTerRetry(TER x) noexcept
bool operator<(Slice const &lhs, Slice const &rhs) noexcept
bool isTesSuccess(TER x) noexcept
constexpr TERUnderlyingType TERtoInt(TELcodes v)
bool isTemMalformed(TER x) noexcept
std::unordered_map< TERUnderlyingType, std::pair< char const *const, char const *const > > const & transResults()
constexpr bool operator==(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)
@ terNO_DELEGATE_PERMISSION
TERSubset< CanCvtToTER > TER
bool transResultInfo(TER code, std::string &token, std::string &text)
bool operator>=(STAmount const &lhs, STAmount const &rhs)
bool isTecClaim(TER x) noexcept
bool isTelLocal(TER x) noexcept
std::optional< TER > transCode(std::string const &token)
@ temBAD_SEND_XRP_PARTIAL
@ temXCHAIN_BRIDGE_BAD_MIN_ACCOUNT_CREATE_AMOUNT
@ temXCHAIN_BRIDGE_BAD_REWARD_AMOUNT
@ temXCHAIN_EQUAL_DOOR_ACCOUNTS
@ temXCHAIN_BRIDGE_NONDOOR_OWNER
@ temXCHAIN_BRIDGE_BAD_ISSUES
@ temBAD_SEND_XRP_NO_DIRECT
@ temBAD_NFTOKEN_TRANSFER_FEE