pub struct BaseCurrency(/* private fields */);
Expand description
The markets BASE currency, e.g.: BTCUSD -> BTC is the BASE currency
Trait Implementations§
Source§impl Add for BaseCurrency
impl Add for BaseCurrency
Source§type Output = BaseCurrency
type Output = BaseCurrency
+
operator.Source§fn add(self, rhs: BaseCurrency) -> BaseCurrency
fn add(self, rhs: BaseCurrency) -> BaseCurrency
+
operation. Read moreSource§impl AddAssign for BaseCurrency
impl AddAssign for BaseCurrency
Source§fn add_assign(&mut self, rhs: BaseCurrency)
fn add_assign(&mut self, rhs: BaseCurrency)
+=
operation. Read moreSource§impl AsRef<Decimal> for BaseCurrency
impl AsRef<Decimal> for BaseCurrency
Source§impl Clone for BaseCurrency
impl Clone for BaseCurrency
Source§fn clone(&self) -> BaseCurrency
fn clone(&self) -> BaseCurrency
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Currency for BaseCurrency
impl Currency for BaseCurrency
Source§type PairedCurrency = QuoteCurrency
type PairedCurrency = QuoteCurrency
PairedCurrency
would be USDSource§fn new(val: Decimal) -> Self
fn new(val: Decimal) -> Self
Rational
value
TODO: change return type to be Result<Self>
, beacuse inputting a Decimal
that it LTE zero could happen.Source§fn abs(self) -> Self
fn abs(self) -> Self
Source§fn convert(&self, rate: QuoteCurrency) -> Self::PairedCurrency
fn convert(&self, rate: QuoteCurrency) -> Self::PairedCurrency
Currency
’s value into its pair at the conversion rate
.
E.g:
1 BTC @ 20_000 USD means that 1 USD = 1 / 20_000 BTCSource§fn into_negative(self) -> Self
fn into_negative(self) -> Self
Source§impl Debug for BaseCurrency
impl Debug for BaseCurrency
Source§impl Default for BaseCurrency
impl Default for BaseCurrency
Source§fn default() -> BaseCurrency
fn default() -> BaseCurrency
Source§impl<'de> Deserialize<'de> for BaseCurrency
impl<'de> Deserialize<'de> for BaseCurrency
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for BaseCurrency
impl Display for BaseCurrency
Source§impl Div<Decimal> for BaseCurrency
impl Div<Decimal> for BaseCurrency
Source§impl Div<Leverage> for BaseCurrency
impl Div<Leverage> for BaseCurrency
Source§impl Div for BaseCurrency
impl Div for BaseCurrency
Source§type Output = BaseCurrency
type Output = BaseCurrency
/
operator.Source§fn div(self, rhs: BaseCurrency) -> BaseCurrency
fn div(self, rhs: BaseCurrency) -> BaseCurrency
/
operation. Read moreSource§impl From<BaseCurrency> for Decimal
impl From<BaseCurrency> for Decimal
Source§fn from(value: BaseCurrency) -> Self
fn from(value: BaseCurrency) -> Self
Source§impl From<Decimal> for BaseCurrency
impl From<Decimal> for BaseCurrency
Source§impl Hash for BaseCurrency
impl Hash for BaseCurrency
Source§impl MarginCurrency for BaseCurrency
impl MarginCurrency for BaseCurrency
Source§fn pnl<S: Currency>(
entry_price: QuoteCurrency,
exit_price: QuoteCurrency,
quantity: S,
) -> S::PairedCurrency
fn pnl<S: Currency>( entry_price: QuoteCurrency, exit_price: QuoteCurrency, quantity: S, ) -> S::PairedCurrency
This represents the pnl calculation for inverse futures contracts
Source§fn price_paid_for_qty(
&self,
quantity: <Self as Currency>::PairedCurrency,
) -> QuoteCurrency
fn price_paid_for_qty( &self, quantity: <Self as Currency>::PairedCurrency, ) -> QuoteCurrency
self
(total_cost) for quantity
number of contracts.Source§impl Mul<Decimal> for BaseCurrency
impl Mul<Decimal> for BaseCurrency
Source§impl<MakerTaker> Mul<Fee<MakerTaker>> for BaseCurrency
impl<MakerTaker> Mul<Fee<MakerTaker>> for BaseCurrency
Source§impl Mul for BaseCurrency
impl Mul for BaseCurrency
Source§type Output = BaseCurrency
type Output = BaseCurrency
*
operator.Source§fn mul(self, rhs: BaseCurrency) -> BaseCurrency
fn mul(self, rhs: BaseCurrency) -> BaseCurrency
*
operation. Read moreSource§impl Ord for BaseCurrency
impl Ord for BaseCurrency
Source§fn cmp(&self, other: &BaseCurrency) -> Ordering
fn cmp(&self, other: &BaseCurrency) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for BaseCurrency
impl PartialEq for BaseCurrency
Source§impl PartialOrd for BaseCurrency
impl PartialOrd for BaseCurrency
Source§impl Rem for BaseCurrency
impl Rem for BaseCurrency
Source§impl Serialize for BaseCurrency
impl Serialize for BaseCurrency
Source§impl Sub<Decimal> for BaseCurrency
impl Sub<Decimal> for BaseCurrency
Source§impl Sub for BaseCurrency
impl Sub for BaseCurrency
Source§type Output = BaseCurrency
type Output = BaseCurrency
-
operator.Source§fn sub(self, rhs: BaseCurrency) -> BaseCurrency
fn sub(self, rhs: BaseCurrency) -> BaseCurrency
-
operation. Read moreSource§impl SubAssign for BaseCurrency
impl SubAssign for BaseCurrency
Source§fn sub_assign(&mut self, rhs: BaseCurrency)
fn sub_assign(&mut self, rhs: BaseCurrency)
-=
operation. Read moreimpl Copy for BaseCurrency
impl Eq for BaseCurrency
impl StructuralPartialEq for BaseCurrency
Auto Trait Implementations§
impl Freeze for BaseCurrency
impl RefUnwindSafe for BaseCurrency
impl Send for BaseCurrency
impl Sync for BaseCurrency
impl Unpin for BaseCurrency
impl UnwindSafe for BaseCurrency
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);