|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0, enable_if_t< std::is_integral< Tp >::value &&std::is_unsigned< Tp >::value > = 0> |
auto | abs (Tp _val, type_list<>) -> decltype(Tp{}) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | abs (Tp _val, type_list<>,...) -> decltype(std::begin(_val), Tp{}) |
|
template<template< typename... > class Tuple, typename... Types, size_t... Idx> |
auto | abs (Tuple< Types... > _val, index_sequence< Idx... >) -> decltype(std::get< 0 >(_val), Tuple< Types... >()) |
|
template<typename Tp > |
Tp | abs (Tp _val) |
|
template<typename Tp , typename Up > |
void | assign (Tp &_lhs, Up &&_rhs) |
|
template<typename Tp , typename Up > |
auto | divide (Tp &_lhs, Up _rhs, type_list<>,...) -> decltype(_lhs/=_rhs, void()) |
|
template<typename Tp , typename Up , typename Vp = typename Tp::value_type, enable_if_t<!std::is_arithmetic< Up >::value > = 0> |
auto | divide (Tp &_lhs, const Up &_rhs, type_list<>, long) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type, enable_if_t<!std::is_arithmetic< Up >::value > = 0> |
auto | divide (Tp &_lhs, const Up &_rhs, type_list<>, int) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up > |
auto | divide (Tp &, const Up &, index_sequence<>, int) |
|
template<typename Tp , typename Up , size_t... Idx, enable_if_t<!std::is_arithmetic< Up >::value > = 0> |
auto | divide (Tp &_lhs, const Up &_rhs, index_sequence< Idx... >, long) -> decltype(std::get< 0 >(_lhs), void()) |
|
template<typename Tp , typename Up , enable_if_t<!concepts::is_null_type< Tp >::value > > |
Tp & | divide (Tp &_lhs, const Up &_rhs) |
|
template<typename Tp > |
bool | is_finite (const Tp &val) |
|
template<typename Tp > |
Tp | sqrt (Tp) |
|
template<typename Tp > |
Tp | pow (Tp, double) |
|
template<typename Tp > |
Tp | sqr (Tp) |
|
template<typename Tp > |
Tp | min (const Tp &, const Tp &) |
|
template<typename Tp > |
Tp | max (const Tp &, const Tp &) |
|
template<typename Tp , typename Up = Tp, enable_if_t<!concepts::is_null_type< Tp >::value > = 0> |
Tp & | plus (Tp &, const Up &) |
|
template<typename Tp , typename Up = Tp, enable_if_t<!concepts::is_null_type< Tp >::value > = 0> |
Tp & | minus (Tp &, const Up &) |
|
template<typename Tp , typename Up = Tp, enable_if_t<!concepts::is_null_type< Tp >::value > = 0> |
Tp & | multiply (Tp &, const Up &) |
|
template<typename Tp > |
Tp | percent_diff (const Tp &, const Tp &) |
|
std::tuple | abs (std::tuple<>) |
|
std::tuple | sqrt (std::tuple<>) |
|
std::tuple | pow (std::tuple<>, double) |
|
std::tuple | sqr (std::tuple<>) |
|
std::tuple | min (const std::tuple<> &, const std::tuple<> &) |
|
std::tuple | max (const std::tuple<> &, const std::tuple<> &) |
|
void | assign (std::tuple<> &, std::tuple<> &&) |
|
std::tuple & | plus (std::tuple<> &lhs, const std::tuple<> &) |
|
std::tuple & | minus (std::tuple<> &lhs, const std::tuple<> &) |
|
std::tuple & | multiply (std::tuple<> &lhs, const std::tuple<> &) |
|
std::tuple & | divide (std::tuple<> &lhs, const std::tuple<> &) |
|
std::tuple | percent_diff (const std::tuple<> &, const std::tuple<> &) |
|
template<typename Up > |
std::tuple & | plus (std::tuple<> &lhs, Up &&) |
|
template<typename Up > |
std::tuple & | minus (std::tuple<> &lhs, Up &&) |
|
template<typename Up > |
std::tuple & | multiply (std::tuple<> &lhs, Up &&) |
|
template<typename Up > |
std::tuple & | divide (std::tuple<> &lhs, Up &&) |
|
std::tuple & | divide (std::tuple<> &lhs, uint64_t) |
|
std::tuple & | divide (std::tuple<> &lhs, int64_t) |
|
null_type | abs (null_type) |
|
null_type | sqrt (null_type) |
|
null_type | pow (null_type, double) |
|
null_type | sqr (null_type) |
|
null_type | min (const null_type &, const null_type &) |
|
null_type | max (const null_type &, const null_type &) |
|
void | assign (null_type &, null_type &&) |
|
null_type & | plus (null_type &lhs, const null_type &) |
|
null_type & | minus (null_type &lhs, const null_type &) |
|
null_type & | multiply (null_type &lhs, const null_type &) |
|
null_type & | divide (null_type &lhs, const null_type &) |
|
null_type | percent_diff (const null_type &, const null_type &) |
|
template<typename Up > |
null_type & | plus (null_type &lhs, Up &&) |
|
template<typename Up > |
null_type & | minus (null_type &lhs, Up &&) |
|
template<typename Up > |
null_type & | multiply (null_type &lhs, Up &&) |
|
template<typename Up > |
null_type & | divide (null_type &lhs, Up &&) |
|
null_type & | divide (null_type &lhs, uint64_t) |
|
null_type & | divide (null_type &lhs, int64_t) |
|
type_list | pow (type_list<>, double) |
|
type_list | min (const type_list<> &, const type_list<> &) |
|
type_list | max (const type_list<> &, const type_list<> &) |
|
void | assign (type_list<> &, type_list<> &&) |
|
type_list & | plus (type_list<> &lhs, const type_list<> &) |
|
type_list & | minus (type_list<> &lhs, const type_list<> &) |
|
type_list & | multiply (type_list<> &lhs, const type_list<> &) |
|
type_list & | divide (type_list<> &lhs, const type_list<> &) |
|
type_list | percent_diff (const type_list<> &, const type_list<> &) |
|
template<typename Up > |
type_list & | plus (type_list<> &lhs, Up &&) |
|
template<typename Up > |
type_list & | minus (type_list<> &lhs, Up &&) |
|
template<typename Up > |
type_list & | multiply (type_list<> &lhs, Up &&) |
|
template<typename Up > |
type_list & | divide (type_list<> &lhs, Up &&) |
|
type_list & | divide (type_list<> &lhs, uint64_t) |
|
type_list & | divide (type_list<> &lhs, int64_t) |
|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0> |
Tp | max (Tp _lhs, Tp _rhs, type_list<>) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | max (const Tp &_lhs, const Tp &_rhs, type_list<>,...) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | max (const Tp &_lhs, const Tp &_rhs, type_list<>) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , size_t... Idx> |
auto | max (const Tp &_lhs, const Tp &_rhs, index_sequence< Idx... >) -> decltype(std::get< 0 >(_lhs), Tp{}) |
|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0> |
Tp | min (Tp _lhs, Tp _rhs, type_list<>) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | min (const Tp &_lhs, const Tp &_rhs, type_list<>,...) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | min (const Tp &_lhs, const Tp &_rhs, type_list<>) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , size_t... Idx> |
auto | min (const Tp &_lhs, const Tp &_rhs, index_sequence< Idx... >) -> decltype(std::get< 0 >(_lhs), Tp{}) |
|
template<typename Tp , typename Up > |
auto | minus (Tp &_lhs, const Up &_rhs, type_list<>,...) -> decltype(_lhs -=_rhs, void()) |
|
template<typename Tp , typename Up , typename Vp = typename Tp::value_type> |
auto | minus (Tp &_lhs, const Up &_rhs, type_list<>, long) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | minus (Tp &_lhs, const Up &_rhs, type_list<>, int) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up > |
auto | minus (Tp &, const Up &, index_sequence<>, int) |
|
template<typename Tp , typename Up , size_t... Idx> |
auto | minus (Tp &_lhs, const Up &_rhs, index_sequence< Idx... >, long) -> decltype(std::get< 0 >(_lhs), void()) |
|
template<typename Tp , typename Up > |
auto | multiply (Tp &_lhs, Up _rhs, type_list<>,...) -> decltype(_lhs *=_rhs, void()) |
|
template<typename Tp , typename Up , typename Vp = typename Tp::value_type> |
auto | multiply (Tp &_lhs, const Up &_rhs, type_list<>, long) -> decltype((std::begin(_lhs), std::begin(_rhs)), void()) |
|
template<typename Tp , typename Up , typename Vp = typename Tp::value_type, enable_if_t< std::is_arithmetic< Up >::value > = 0> |
auto | multiply (Tp &_lhs, const Up &_rhs, type_list<>, long) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type, enable_if_t<!std::is_arithmetic< Up >::value > = 0> |
auto | multiply (Tp &_lhs, const Up &_rhs, type_list<>, int) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up > |
auto | multiply (Tp &, const Up &, index_sequence<>, int) |
|
template<typename Tp , typename Up , size_t... Idx, enable_if_t<!std::is_arithmetic< Up >::value > = 0> |
auto | multiply (Tp &_lhs, const Up &_rhs, index_sequence< Idx... >, long) -> decltype(std::get< 0 >(_lhs), void()) |
|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0> |
Tp | percent_diff (Tp _lhs, Tp _rhs, type_list<>,...) |
|
template<typename Tp , enable_if_t<!std::is_arithmetic< Tp >::value &&std::is_class< Tp >::value > = 0> |
auto | percent_diff (Tp _lhs, Tp _rhs, type_list<>,...) -> decltype(_lhs.percent_diff(_rhs)) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | percent_diff (const Tp &_lhs, const Tp &_rhs, type_list<>, long) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | percent_diff (const Tp &_lhs, const Tp &_rhs, type_list<>, int) -> decltype(std::begin(_lhs), Tp{}) |
|
template<typename Tp , size_t... Idx> |
auto | percent_diff (const Tp &_lhs, const Tp &_rhs, index_sequence< Idx... >,...) -> decltype(std::get< 0 >(_lhs), Tp{}) |
|
template<typename Tp , typename Up > |
auto | plus (Tp &_lhs, const Up &_rhs, type_list<>,...) -> decltype(_lhs+=_rhs, void()) |
|
template<typename Tp , typename Up , typename Vp = typename Tp::value_type> |
auto | plus (Tp &_lhs, const Up &_rhs, type_list<>, long) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | plus (Tp &_lhs, const Up &_rhs, type_list<>, int) -> decltype(std::begin(_lhs), void()) |
|
template<typename Tp , typename Up > |
auto | plus (Tp &, const Up &, index_sequence<>, int) |
|
template<typename Tp , typename Up , size_t... Idx> |
auto | plus (Tp &_lhs, const Up &_rhs, index_sequence< Idx... >, long) -> decltype(std::get< 0 >(_lhs), void()) |
|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0> |
auto | pow (Tp _val, double _m, type_list<>) -> decltype(std::pow(_val, _m), Tp{}) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | pow (Tp _val, double _m, type_list<>,...) -> decltype(std::begin(_val), Tp{}) |
|
template<typename Tp , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | pow (Tp _val, double _m, type_list<>) -> decltype(std::begin(_val), Tp{}) |
|
template<template< typename... > class Tuple, typename... Types, size_t... Idx> |
auto | pow (Tuple< Types... > _val, double _m, index_sequence< Idx... >) -> decltype(std::get< 0 >(_val), Tuple< Types... >()) |
|
template<typename Tp , enable_if_t< std::is_arithmetic< Tp >::value > = 0> |
auto | sqrt (Tp _val, type_list<>) -> decltype(std::sqrt(_val), Tp{}) |
|
template<typename Tp , typename Vp = typename Tp::value_type> |
auto | sqrt (Tp _val, type_list<>,...) -> decltype(std::begin(_val), Tp{}) |
|
template<typename Tp , typename Kp = typename Tp::key_type, typename Mp = typename Tp::mapped_type> |
auto | sqrt (Tp _val, type_list<>) -> decltype(std::begin(_val), Tp{}) |
|
template<template< typename... > class Tuple, typename... Types, size_t... Idx> |
auto | sqrt (Tuple< Types... > _val, index_sequence< Idx... >) -> decltype(std::get< 0 >(_val), Tuple< Types... >()) |
|