Boost.Hana  1.7.0 Your standard library for metaprogramming
std::ratio< Num, Denom > Class Template Reference

## Description

### template<std::intmax_t Num, std::intmax_t Denom> class std::ratio< Num, Denom >

Adaptation of std::ratio for Hana.

## Modeled concepts

1. Comparable
std::ratios are compared for equality using std::ratio_equal.
#include <ratio>
namespace hana = boost::hana;
int main() { }
2. Orderable
std::ratios are ordered using std::ratio_less.
#include <ratio>
namespace hana = boost::hana;
int main() { }
3. Monoid, Group, Ring, and EuclideanRing
std::ratios are added, subtracted, multiplied and divided using std::ratio_add, std::ratio_subtract, std::ratio_multiply and std::ratio_divide, respectively. Furthermore, the neutral element for the additive operation is std::ratio<0, 1>{}, and the neutral element for the multiplicative operation is std::ratio<1, 1>{}.
#include <ratio>
namespace hana = boost::hana;
));
));
));
));
// The mod of two ratios is always 0, because they can always be
// divided without remainder.
));
hana::zero<hana::ext::std::ratio_tag>(),
));
hana::one<hana::ext::std::ratio_tag>(),
));
int main() { }
less.hpp
Defines boost::hana::less.
equal.hpp
Defines boost::hana::equal.
boost::hana::less_equal
constexpr auto less_equal
Returns a Logical representing whether x is less than or equal to y.
Definition: less_equal.hpp:38
mod.hpp
Defines boost::hana::mod.
boost::hana::less
constexpr auto less
Returns a Logical representing whether x is less than y.
Definition: less.hpp:37
BOOST_HANA_CONSTANT_CHECK
#define BOOST_HANA_CONSTANT_CHECK(...)
Equivalent to BOOST_HANA_CONSTANT_ASSERT, but not influenced by the BOOST_HANA_CONFIG_DISABLE_ASSERTI...
Definition: assert.hpp:239
zero.hpp
Defines boost::hana::zero.
boost::hana::minus
constexpr auto minus
Subtract two elements of a group.
Definition: minus.hpp:51
one.hpp
Defines boost::hana::one.
boost::hana::plus
constexpr auto plus
Associative binary operation on a Monoid.
Definition: plus.hpp:47
plus.hpp
Defines boost::hana::plus.
less_equal.hpp
Defines boost::hana::less_equal.
minus.hpp
Defines boost::hana::minus.
std::ratio
Definition: ratio.hpp:58
boost::hana::div
constexpr auto div
Generalized integer division.
Definition: div.hpp:43
boost::hana
Namespace containing everything in the library.
Definition: accessors.hpp:20
boost::hana::mult
constexpr auto mult
Associative operation of a Ring.
Definition: mult.hpp:47
assert.hpp
Defines macros to perform different kinds of assertions.
mult.hpp
Defines boost::hana::mult.
div.hpp
Defines boost::hana::div.
not_equal.hpp
Defines boost::hana::not_equal.
boost::hana::mod
constexpr auto mod
Generalized integer modulus.
Definition: mod.hpp:46
boost::hana::not_equal
constexpr auto not_equal
Returns a Logical representing whether x is not equal to y.
Definition: not_equal.hpp:54
ratio.hpp
Adapts std::ratio for use with Hana.
boost::hana::equal
constexpr auto equal
Returns a Logical representing whether x is equal to y.
Definition: equal.hpp:64