Mantid
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
WideInt.h File Reference
#include <climits>
#include <cmath>
#include <cstdint>
#include <iomanip>
#include <limits>
#include <ostream>
#include <sstream>
#include <stdexcept>
#include <stdint.h>
#include <system_error>
#include <type_traits>
#include "WideIntImpl.h"

Go to the source code of this file.

Classes

struct  std::from_chars_result
 
struct  std::to_chars_result
 
class  std::wide_integer< Bits, Signed >
 

Namespaces

namespace  std
 STL namespace.
 
namespace  std::literals
 
namespace  std::literals::wide_integer_literals
 

Typedefs

template<class T1 , class T2 >
using std::__only_arithmetic = typename std::enable_if< ArithmeticConcept< T1 >() &&ArithmeticConcept< T2 >()>::type
 
template<class T , class T2 >
using std::__only_integer = typename std::enable_if< IntegralConcept< T >() &&IntegralConcept< T2 >()>::type
 
using std::literals::wide_integer_literals::int128_t = wide_int< 128 >
 
using std::literals::wide_integer_literals::int256_t = wide_int< 256 >
 
using std::literals::wide_integer_literals::int512_t = wide_int< 512 >
 
using std::literals::wide_integer_literals::uint128_t = wide_uint< 128 >
 
using std::literals::wide_integer_literals::uint256_t = wide_uint< 256 >
 
using std::literals::wide_integer_literals::uint512_t = wide_uint< 512 >
 
template<size_t Bits>
using std::literals::wide_integer_literals::wide_int = wide_integer< Bits, signed >
 
template<size_t Bits>
using std::literals::wide_integer_literals::wide_uint = wide_integer< Bits, unsigned >
 

Functions

template<typename T >
static constexpr bool std::ArithmeticConcept () noexcept
 
template<size_t Bits, typename Signed >
from_chars_result std::from_chars (const char *first, const char *last, wide_integer< Bits, Signed > &value, int base=10)
 
template<typename T >
static constexpr bool std::IntegralConcept () noexcept
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator!= (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator!= (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
constexpr int128_t std::operator""_cppi128 (const char *n)
 
constexpr int256_t std::operator""_cppi256 (const char *n)
 
constexpr int512_t std::operator""_cppi512 (const char *n)
 
constexpr uint128_t std::operator""_cppui128 (const char *n)
 
constexpr uint256_t std::operator""_cppui256 (const char *n)
 
constexpr uint512_t std::operator""_cppui512 (const char *n)
 
template<typename Integral , typename Integral2 , class = __only_integer<Integral, Integral2>>
std::common_type_t< Integral, Integral2 > constexpr std::operator% (const Integral &rhs, const Integral2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator% (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Integral , typename Integral2 , class = __only_integer<Integral, Integral2>>
std::common_type_t< Integral, Integral2 > constexpr std::operator& (const Integral &rhs, const Integral2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator& (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
std::common_type_t< Arithmetic, Arithmetic2 > constexpr std::operator* (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator* (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
std::common_type_t< Arithmetic, Arithmetic2 > constexpr std::operator+ (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed >
constexpr wide_integer< Bits, Signed > std::operator+ (const wide_integer< Bits, Signed > &lhs) noexcept(is_same< Signed, unsigned >::value)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator+ (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
std::common_type_t< Arithmetic, Arithmetic2 > constexpr std::operator- (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed >
constexpr wide_integer< Bits, Signed > std::operator- (const wide_integer< Bits, Signed > &lhs) noexcept(is_same< Signed, unsigned >::value)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator- (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
std::common_type_t< Arithmetic, Arithmetic2 > constexpr std::operator/ (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator/ (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator< (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator< (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<size_t Bits, typename Signed , typename T2 , typename = std::enable_if<std::is_integral<T2>::value && std::is_unsigned<T2>::value>>
constexpr wide_integer< Bits, Signed > std::operator<< (const wide_integer< Bits, Signed > &lhs, T2 n) noexcept
 
template<size_t Bits, typename Signed >
std::ostream & std::operator<< (std::ostream &out, const wide_integer< Bits, Signed > &n)
 
template<size_t Bits, typename Signed >
std::wostream & std::operator<< (std::wostream &out, const wide_integer< Bits, Signed > &n)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator<= (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator<= (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator== (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator== (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator> (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator> (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Arithmetic , typename Arithmetic2 , class = __only_arithmetic<Arithmetic, Arithmetic2>>
constexpr bool std::operator>= (const Arithmetic &rhs, const Arithmetic2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
constexpr bool std::operator>= (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<size_t Bits, typename Signed , typename T2 , typename = std::enable_if<std::is_integral<T2>::value && std::is_unsigned<T2>::value>>
constexpr wide_integer< Bits, Signed > std::operator>> (const wide_integer< Bits, Signed > &lhs, T2 n) noexcept
 
template<size_t Bits, typename Signed >
std::istream & std::operator>> (std::istream &in, wide_integer< Bits, Signed > &n)
 
template<size_t Bits, typename Signed >
std::wistream & std::operator>> (std::wistream &in, wide_integer< Bits, Signed > &n)
 
template<typename Integral , typename Integral2 , class = __only_integer<Integral, Integral2>>
std::common_type_t< Integral, Integral2 > constexpr std::operator^ (const Integral &rhs, const Integral2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator^ (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<typename Integral , typename Integral2 , class = __only_integer<Integral, Integral2>>
std::common_type_t< Integral, Integral2 > constexpr std::operator| (const Integral &rhs, const Integral2 &lhs)
 
template<size_t Bits, typename Signed , size_t Bits2, typename Signed2 >
std::common_type_t< wide_integer< Bits, Signed >, wide_integer< Bits2, Signed2 > > constexpr std::operator| (const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
 
template<size_t Bits, typename Signed >
constexpr wide_integer< Bits, Signed > std::operator~ (const wide_integer< Bits, Signed > &lhs) noexcept
 
template<size_t Bits, typename Signed >
to_chars_result std::to_chars (char *first, char *last, const wide_integer< Bits, Signed > &value, int base=10)
 
template<size_t Bits, typename Signed >
std::string std::to_string (const wide_integer< Bits, Signed > &n)
 
template<size_t Bits, typename Signed >
std::wstring std::to_wstring (const wide_integer< Bits, Signed > &n)