Template Struct Fraction¶
Defined in File fractions-new.hpp
Inheritance Relationships¶
Base Type¶
public boost::totally_ordered< Fraction< Z >, boost::totally_ordered2< Fraction< Z >, Z, boost::multipliable2< Fraction< Z >, Z, boost::dividable2< Fraction< Z >, Z > > > >
Template Parameter Order¶
typename Z
Struct Documentation¶
-
template<typename Z>
struct fun::Fraction : public boost::totally_ordered<Fraction<Z>, boost::totally_ordered2<Fraction<Z>, Z, boost::multipliable2<Fraction<Z>, Z, boost::dividable2<Fraction<Z>, Z>>>>¶ -
Public Functions
-
inline constexpr Fraction(const Z &numerator, const Z &denominator)¶
Construct a new Fraction object.
- Parameters
numerator – [in]
denominator – [in]
-
inline explicit constexpr Fraction(const Z &numerator)¶
Construct a new Fraction object.
- Parameters
numerator – [in]
-
inline constexpr void reciprocal()¶
-
template<typename U>
inline constexpr auto cmp(const Fraction<U> &frac) const¶ Three way comparison.
- Parameters
frac – [in]
- Returns
auto
-
template<typename U>
inline constexpr bool operator==(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
template<typename U>
inline constexpr bool operator!=(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
template<typename U>
inline constexpr bool operator<(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
template<typename U>
inline constexpr bool operator>(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
template<typename U>
inline constexpr bool operator<=(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
template<typename U>
inline constexpr bool operator>=(const Fraction<U> &frac) const¶ - Template Parameters
U –
- Parameters
frac – [in]
- Returns
true
- Returns
false
-
inline explicit constexpr operator double()¶
- Returns
double
-
inline constexpr Fraction(Z &&numerator, Z &&denominator) noexcept¶
Construct a new Fraction object.
- Parameters
numerator – [in]
denominator – [in]
-
inline constexpr Fraction(const Z &numerator, const Z &denominator)
Construct a new Fraction object.
- Parameters
numerator – [in]
denominator – [in]
-
inline constexpr void normalize()¶
-
inline explicit constexpr Fraction(Z &&numerator) noexcept¶
Construct a new Fraction object.
- Parameters
numerator – [in]
-
inline explicit constexpr Fraction(const Z &numerator)
Construct a new Fraction object.
- Parameters
numerator – [in]
-
inline constexpr auto numerator() const -> const Z&
- Returns
const Z&
-
inline constexpr auto denominator() const -> const Z&
- Returns
const Z&
-
inline constexpr void reciprocal()
-
inline constexpr auto operator+(const Fraction &frac) const -> Fraction¶
- Parameters
frac – [in]
- Returns
-
inline constexpr auto operator-(const Fraction &frac) const -> Fraction¶
- Parameters
frac – [in]
- Returns
-
inline constexpr auto operator*(const Fraction &frac) const -> Fraction¶
- Parameters
frac – [in]
- Returns
-
template<typename U>
inline constexpr auto cmp(const Fraction<U> &frac) const Three way comparison.
- Parameters
frac – [in]
- Returns
auto
-
inline constexpr auto operator==(const Z &rhs) const -> bool
-
inline constexpr auto operator<(const Z &rhs) const -> bool
-
inline constexpr auto operator>(const Z &rhs) const -> bool
Friends
- inline friend friend constexpr _Self operator+ (const Z &c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
- Returns
Fraction<Z>
- inline friend friend constexpr _Self operator- (const Z &c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
- Returns
Fraction<Z>
- inline friend friend constexpr _Self operator* (const Z &c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
- Returns
Fraction<Z>
- inline friend friend constexpr _Self operator+ (int &&c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
c – [in]
frac – [in]
c – [in]
frac – [in]
- Returns
Fraction<Z>
- Returns
Fraction<Z>
- Returns
Fraction<Z>
- inline friend friend constexpr _Self operator- (int &&c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
- Returns
Fraction<Z>
- inline friend friend constexpr _Self operator* (int &&c, const _Self &frac)
- Parameters
c – [in]
frac – [in]
- Returns
Fraction<Z>
- template<typename _Stream> inline friend friend _Stream & operator<< (_Stream &os, const _Self &frac)
- Template Parameters
_Stream –
Z –
- Parameters
os – [in]
frac – [in]
- Returns
_Stream&
-
inline constexpr Fraction(const Z &numerator, const Z &denominator)¶