本文整理汇总了C++中asset::symbol_name方法的典型用法代码示例。如果您正苦于以下问题:C++ asset::symbol_name方法的具体用法?C++ asset::symbol_name怎么用?C++ asset::symbol_name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类asset
的用法示例。
在下文中一共展示了asset::symbol_name方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
price operator/(const asset &base, const asset "e) {
try {
FC_ASSERT(base.symbol_name() != quote.symbol_name());
return price{base, quote};
}
FC_CAPTURE_AND_RETHROW((base)(quote))
}
示例2: asset
asset operator*(const asset &a, const price &b) {
if (a.symbol_name() == b.base.symbol_name()) {
FC_ASSERT(b.base.amount.value > 0);
uint128_t result =
(uint128_t(a.amount.value) * b.quote.amount.value) /
b.base.amount.value;
FC_ASSERT(result.hi == 0);
return asset(result.to_uint64(), b.quote.symbol);
} else if (a.symbol_name() == b.quote.symbol_name()) {
FC_ASSERT(b.quote.amount.value > 0);
uint128_t result =
(uint128_t(a.amount.value) * b.base.amount.value) /
b.quote.amount.value;
FC_ASSERT(result.hi == 0);
return asset(result.to_uint64(), b.base.symbol);
}
FC_THROW_EXCEPTION(fc::assert_exception, "invalid asset * price", ("asset", a)("price", b));
}
示例3: asset
asset operator * ( const asset& a, const price& b )
{
if( a.symbol_name() == b.base.symbol_name() )
{
FC_ASSERT( b.base.amount.value > 0 );
uint128_t result = (uint128_t(a.amount.value) * b.quote.amount.value)/b.base.amount.value;
FC_ASSERT( result <= uint64_t(-1) );
return asset( result.to_uint64(), b.quote.symbol );
}
else if( a.symbol_name() == b.quote.symbol_name() )
{
FC_ASSERT( b.quote.amount.value > 0 );
uint128_t result = (uint128_t(a.amount.value) * b.base.amount.value)/b.quote.amount.value;
//FC_ASSERT( result <= STEEMIT_MAX_SHARE_SUPPLY, "${result}", ("result",result)("max",STEEMIT_MAX_SHARE_SUPPLY)("asset",a)("price",b) );
FC_ASSERT( result <= uint64_t(-1) );
return asset( result.to_uint64(), b.base.symbol );
}
FC_THROW_EXCEPTION( fc::assert_exception, "invalid asset * price", ("asset",a)("price",b) );
}