rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
ripple::Asset Class Reference

#include <Asset.h>

Collaboration diagram for ripple::Asset:
Collaboration graph
[legend]

Public Types

using value_type = std::variant< Issue, MPTIssue >
 

Public Member Functions

 Asset ()=default
 
 Asset (Issue const &issue)
 Conversions to Asset are implicit and conversions to specific issue type are explicit.
 
 Asset (MPTIssue const &mptIssue)
 
 Asset (MPTID const &issuanceID)
 
AccountID const & getIssuer () const
 
template<ValidIssueType TIss>
constexpr TIss const & get () const
 
template<ValidIssueType TIss>
TIss & get ()
 
template<ValidIssueType TIss>
constexpr bool holds () const
 
std::string getText () const
 
constexpr value_type const & value () const
 
void setJson (Json::Value &jv) const
 
STAmount operator() (Number const &) const
 
bool native () const
 
template<ValidIssueType TIss>
constexpr TIss const & get () const
 

Private Attributes

value_type issue_
 

Friends

constexpr bool operator== (Asset const &lhs, Asset const &rhs)
 
constexpr std::weak_ordering operator<=> (Asset const &lhs, Asset const &rhs)
 
constexpr bool operator== (Currency const &lhs, Asset const &rhs)
 
constexpr bool equalTokens (Asset const &lhs, Asset const &rhs)
 Return true if both assets refer to the same currency (regardless of issuer) or MPT issuance.
 

Detailed Description

Definition at line 47 of file Asset.h.

Member Typedef Documentation

◆ value_type

Definition at line 50 of file Asset.h.

Constructor & Destructor Documentation

◆ Asset() [1/4]

ripple::Asset::Asset ( )
default

◆ Asset() [2/4]

ripple::Asset::Asset ( Issue const &  issue)

Conversions to Asset are implicit and conversions to specific issue type are explicit.

This design facilitates the use of Asset.

Definition at line 61 of file Asset.h.

◆ Asset() [3/4]

ripple::Asset::Asset ( MPTIssue const &  mptIssue)

Definition at line 65 of file Asset.h.

◆ Asset() [4/4]

ripple::Asset::Asset ( MPTID const &  issuanceID)

Definition at line 69 of file Asset.h.

Member Function Documentation

◆ getIssuer()

AccountID const & ripple::Asset::getIssuer ( ) const

Definition at line 36 of file Asset.cpp.

◆ get() [1/3]

template<ValidIssueType TIss>
constexpr TIss const & ripple::Asset::get ( ) const
constexpr

◆ get() [2/3]

template<ValidIssueType TIss>
TIss & ripple::Asset::get ( )

Definition at line 148 of file Asset.h.

◆ holds()

template<ValidIssueType TIss>
constexpr bool ripple::Asset::holds ( ) const
constexpr

Definition at line 132 of file Asset.h.

◆ getText()

std::string ripple::Asset::getText ( ) const

Definition at line 44 of file Asset.cpp.

◆ value()

constexpr Asset::value_type const & ripple::Asset::value ( ) const
constexpr

Definition at line 156 of file Asset.h.

◆ setJson()

void ripple::Asset::setJson ( Json::Value jv) const

Definition at line 50 of file Asset.cpp.

◆ operator()()

STAmount ripple::Asset::operator() ( Number const &  number) const

Definition at line 56 of file Asset.cpp.

◆ native()

bool ripple::Asset::native ( ) const

Definition at line 101 of file Asset.h.

◆ get() [3/3]

template<ValidIssueType TIss>
constexpr TIss const & ripple::Asset::get ( ) const
constexpr

Definition at line 139 of file Asset.h.

Friends And Related Symbol Documentation

◆ operator== [1/2]

constexpr bool operator== ( Asset const &  lhs,
Asset const &  rhs 
)
friend

Definition at line 162 of file Asset.h.

◆ operator<=>

constexpr std::weak_ordering operator<=> ( Asset const &  lhs,
Asset const &  rhs 
)
friend

Definition at line 176 of file Asset.h.

◆ operator== [2/2]

constexpr bool operator== ( Currency const &  lhs,
Asset const &  rhs 
)
friend

Definition at line 195 of file Asset.h.

◆ equalTokens

constexpr bool equalTokens ( Asset const &  lhs,
Asset const &  rhs 
)
friend

Return true if both assets refer to the same currency (regardless of issuer) or MPT issuance.

Otherwise return false.

Definition at line 201 of file Asset.h.

Member Data Documentation

◆ issue_

value_type ripple::Asset::issue_
private

Definition at line 53 of file Asset.h.