|  | 
| bool | OK () const | 
|  | Checks if all the invariants are satisfied. 
 | 
|  | 
| Result | classify (bool nan=true, bool inf=true, bool sign=true) const | 
|  | Classifies *this.  More... 
 | 
|  | 
|  | 
|  | Checked_Number () | 
|  | Default constructor. 
 | 
|  | 
|  | Checked_Number (const Checked_Number &y) | 
|  | Copy constructor. 
 | 
|  | 
| template<typename From , typename From_Policy > | 
|  | Checked_Number (const Checked_Number< From, From_Policy > &y, Rounding_Dir dir) | 
|  | Direct initialization from a Checked_Number and rounding mode. 
 | 
|  | 
|  | Checked_Number (char y, Rounding_Dir dir) | 
|  | Direct initialization from a plain char and rounding mode. 
 | 
|  | 
|  | Checked_Number (signed char y, Rounding_Dir dir) | 
|  | Direct initialization from a signed char and rounding mode. 
 | 
|  | 
|  | Checked_Number (signed short y, Rounding_Dir dir) | 
|  | Direct initialization from a signed short and rounding mode. 
 | 
|  | 
|  | Checked_Number (signed int y, Rounding_Dir dir) | 
|  | Direct initialization from a signed int and rounding mode. 
 | 
|  | 
|  | Checked_Number (signed long y, Rounding_Dir dir) | 
|  | Direct initialization from a signed long and rounding mode. 
 | 
|  | 
|  | Checked_Number (signed long long y, Rounding_Dir dir) | 
|  | Direct initialization from a signed long long and rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned char y, Rounding_Dir dir) | 
|  | Direct initialization from an unsigned char and rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned short y, Rounding_Dir dir) | 
|  | Direct initialization from an unsigned short and rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned int y, Rounding_Dir dir) | 
|  | Direct initialization from an unsigned int and rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned long y, Rounding_Dir dir) | 
|  | Direct initialization from an unsigned long and rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned long long y, Rounding_Dir dir) | 
|  | Direct initialization from an unsigned long long and rounding mode. 
 | 
|  | 
|  | Checked_Number (float y, Rounding_Dir dir) | 
|  | Direct initialization from a float and rounding mode. 
 | 
|  | 
|  | Checked_Number (double y, Rounding_Dir dir) | 
|  | Direct initialization from a double and rounding mode. 
 | 
|  | 
|  | Checked_Number (long double y, Rounding_Dir dir) | 
|  | Direct initialization from a long double and rounding mode. 
 | 
|  | 
|  | Checked_Number (const mpq_class &y, Rounding_Dir dir) | 
|  | Direct initialization from a rational and rounding mode. 
 | 
|  | 
|  | Checked_Number (const mpz_class &y, Rounding_Dir dir) | 
|  | Direct initialization from an unbounded integer and rounding mode. 
 | 
|  | 
|  | Checked_Number (const char *y, Rounding_Dir dir) | 
|  | Direct initialization from a C string and rounding mode. 
 | 
|  | 
| template<typename From > | 
|  | Checked_Number (const From &, Rounding_Dir dir, typename Enable_If< Is_Special< From >::value, bool >::type ignored=false) | 
|  | Direct initialization from special and rounding mode. 
 | 
|  | 
| template<typename From , typename From_Policy > | 
|  | Checked_Number (const Checked_Number< From, From_Policy > &y) | 
|  | Direct initialization from a Checked_Number, default rounding mode. 
 | 
|  | 
|  | Checked_Number (char y) | 
|  | Direct initialization from a plain char, default rounding mode. 
 | 
|  | 
|  | Checked_Number (signed char y) | 
|  | Direct initialization from a signed char, default rounding mode. 
 | 
|  | 
|  | Checked_Number (signed short y) | 
|  | Direct initialization from a signed short, default rounding mode. 
 | 
|  | 
|  | Checked_Number (signed int y) | 
|  | Direct initialization from a signed int, default rounding mode. 
 | 
|  | 
|  | Checked_Number (signed long y) | 
|  | Direct initialization from a signed long, default rounding mode. 
 | 
|  | 
|  | Checked_Number (signed long long y) | 
|  | Direct initialization from a signed long long, default rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned char y) | 
|  | Direct initialization from an unsigned char, default rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned short y) | 
|  | Direct initialization from an unsigned short, default rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned int y) | 
|  | Direct initialization from an unsigned int, default rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned long y) | 
|  | Direct initialization from an unsigned long, default rounding mode. 
 | 
|  | 
|  | Checked_Number (unsigned long long y) | 
|  | Direct initialization from an unsigned long long, default rounding mode. 
 | 
|  | 
|  | Checked_Number (float y) | 
|  | Direct initialization from a float, default rounding mode. 
 | 
|  | 
|  | Checked_Number (double y) | 
|  | Direct initialization from a double, default rounding mode. 
 | 
|  | 
|  | Checked_Number (long double y) | 
|  | Direct initialization from a long double, default rounding mode. 
 | 
|  | 
|  | Checked_Number (const mpq_class &y) | 
|  | Direct initialization from a rational, default rounding mode. 
 | 
|  | 
|  | Checked_Number (const mpz_class &y) | 
|  | Direct initialization from an unbounded integer, default rounding mode. 
 | 
|  | 
|  | Checked_Number (const char *y) | 
|  | Direct initialization from a C string, default rounding mode. 
 | 
|  | 
| template<typename From > | 
|  | Checked_Number (const From &, typename Enable_If< Is_Special< From >::value, bool >::type ignored=false) | 
|  | Direct initialization from special, default rounding mode. 
 | 
|  | 
|  | 
|  | operator T () const | 
|  | Conversion operator: returns a copy of the underlying numeric value. 
 | 
|  | 
| T & | raw_value () | 
|  | Returns a reference to the underlying numeric value. 
 | 
|  | 
| const T & | raw_value () const | 
|  | Returns a const reference to the underlying numeric value. 
 | 
|  | 
|  | 
| Checked_Number & | operator= (const Checked_Number &y) | 
|  | Assignment operator. 
 | 
|  | 
| template<typename From > | 
| Checked_Number & | operator= (const From &y) | 
|  | Assignment operator. 
 | 
|  | 
| template<typename From_Policy > | 
| Checked_Number & | operator+= (const Checked_Number< T, From_Policy > &y) | 
|  | Add and assign operator. 
 | 
|  | 
| Checked_Number & | operator+= (const T &y) | 
|  | Add and assign operator. 
 | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, Checked_Number< T, Policy > & >::type | operator+= (const From &y) | 
|  | Add and assign operator. 
 | 
|  | 
| template<typename From_Policy > | 
| Checked_Number & | operator-= (const Checked_Number< T, From_Policy > &y) | 
|  | Subtract and assign operator. 
 | 
|  | 
| Checked_Number & | operator-= (const T &y) | 
|  | Subtract and assign operator. 
 | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, Checked_Number< T, Policy > & >::type | operator-= (const From &y) | 
|  | Subtract and assign operator. 
 | 
|  | 
| template<typename From_Policy > | 
| Checked_Number & | operator*= (const Checked_Number< T, From_Policy > &y) | 
|  | Multiply and assign operator. 
 | 
|  | 
| Checked_Number & | operator*= (const T &y) | 
|  | Multiply and assign operator. 
 | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, Checked_Number< T, Policy > & >::type | operator*= (const From &y) | 
|  | Multiply and assign operator. 
 | 
|  | 
| template<typename From_Policy > | 
| Checked_Number & | operator/= (const Checked_Number< T, From_Policy > &y) | 
|  | Divide and assign operator. 
 | 
|  | 
| Checked_Number & | operator/= (const T &y) | 
|  | Divide and assign operator. 
 | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, Checked_Number< T, Policy > & >::type | operator/= (const From &y) | 
|  | Divide and assign operator. 
 | 
|  | 
| template<typename From_Policy > | 
| Checked_Number & | operator%= (const Checked_Number< T, From_Policy > &y) | 
|  | Compute remainder and assign operator. 
 | 
|  | 
| Checked_Number & | operator%= (const T &y) | 
|  | Compute remainder and assign operator. 
 | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, Checked_Number< T, Policy > & >::type | operator%= (const From &y) | 
|  | Compute remainder and assign operator. 
 | 
|  | 
|  | 
| Checked_Number & | operator++ () | 
|  | Pre-increment operator. 
 | 
|  | 
| Checked_Number | operator++ (int) | 
|  | Post-increment operator. 
 | 
|  | 
| Checked_Number & | operator-- () | 
|  | Pre-decrement operator. 
 | 
|  | 
| Checked_Number | operator-- (int) | 
|  | Post-decrement operator. 
 | 
|  | 
|  | 
| (Note that these are not member functions.)  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, bool >::type | is_not_a_number (const T &x) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, bool >::type | is_minus_infinity (const T &x) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, bool >::type | is_plus_infinity (const T &x) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, int >::type | infinity_sign (const T &x) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, bool >::type | is_integer (const T &x) | 
|  | 
| template<typename To , typename From > | 
| Enable_If< Is_Native_Or_Checked< To >::value &&Is_Special< From >::value, Result >::type | construct (To &to, const From &x, Rounding_Dir dir) | 
|  | 
| template<typename To , typename From > | 
| Enable_If< Is_Native_Or_Checked< To >::value &&Is_Special< From >::value, Result >::type | assign_r (To &to, const From &x, Rounding_Dir dir) | 
|  | 
| template<typename To > | 
| Enable_If< Is_Native_Or_Checked< To >::value, Result >::type | assign_r (To &to, const char *x, Rounding_Dir dir) | 
|  | 
| template<typename To , typename To_Policy > | 
| Enable_If< Is_Native_Or_Checked< To >::value, Result >::type | assign_r (To &to, char *x, Rounding_Dir dir) | 
|  | 
| template<typename T , typename Policy > | 
| void | swap (Checked_Number< T, Policy > &x, Checked_Number< T, Policy > &y) | 
|  | Swaps xwithy.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| const T & | raw_value (const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T , typename Policy > | 
| T & | raw_value (Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T , typename Policy > | 
| memory_size_type | total_memory_in_bytes (const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T , typename Policy > | 
| memory_size_type | external_memory_in_bytes (const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename To > | 
| Enable_If< Is_Native_Or_Checked< To >::value, Result >::type | assign_r (To &to, const char *x, Rounding_Dir dir) | 
|  | 
| template<typename T , typename Policy > | 
| Checked_Number< T, Policy > | operator+ (const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T , typename Policy > | 
| Checked_Number< T, Policy > | operator- (const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, int >::type | sgn (const From &x) | 
|  | 
| template<typename From1 , typename From2 > | 
| Enable_If< Is_Native_Or_Checked< From1 >::value &&Is_Native_Or_Checked< From2 >::value, int >::type | cmp (const From1 &x, const From2 &y) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, Result >::type | output (std::ostream &os, const T &x, const Numeric_Format &format, Rounding_Dir dir) | 
|  | 
| template<typename T , typename Policy > | 
| std::ostream & | operator<< (std::ostream &os, const Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, Result >::type | input (T &x, std::istream &is, Rounding_Dir dir) | 
|  | 
| template<typename T , typename Policy > | 
| std::istream & | operator>> (std::istream &is, Checked_Number< T, Policy > &x) | 
|  | 
| template<typename T , typename Policy > | 
| void | swap (Checked_Number< T, Policy > &x, Checked_Number< T, Policy > &y) | 
|  | 
|  | 
| template<typename T , typename Policy > | 
| memory_size_type | total_memory_in_bytes (const Checked_Number< T, Policy > &x) | 
|  | Returns the total size in bytes of the memory occupied by x.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| memory_size_type | external_memory_in_bytes (const Checked_Number< T, Policy > &x) | 
|  | Returns the size in bytes of the memory managed by x.  More...
 | 
|  | 
|  | 
| template<typename T , typename Policy > | 
| Checked_Number< T, Policy > | operator+ (const Checked_Number< T, Policy > &x) | 
|  | Unary plus operator.  More... 
 | 
|  | 
| template<typename T , typename Policy > | 
| Checked_Number< T, Policy > | operator- (const Checked_Number< T, Policy > &x) | 
|  | Unary minus operator.  More... 
 | 
|  | 
| template<typename T , typename Policy > | 
| void | floor_assign (Checked_Number< T, Policy > &x) | 
|  | Assigns to xlargest integral value not greater thanx.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | floor_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xlargest integral value not greater thany.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | ceil_assign (Checked_Number< T, Policy > &x) | 
|  | Assigns to xsmallest integral value not less thanx.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | ceil_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xsmallest integral value not less thany.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | trunc_assign (Checked_Number< T, Policy > &x) | 
|  | Round xto the nearest integer not larger in absolute value.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | trunc_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xthe value ofyrounded to the nearest integer not larger in absolute value.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | neg_assign (Checked_Number< T, Policy > &x) | 
|  | Assigns to xits negation.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | neg_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xthe negation ofy.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | abs_assign (Checked_Number< T, Policy > &x) | 
|  | Assigns to xits absolute value.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | abs_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xthe absolute value ofy.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | add_mul_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | Assigns to xthe valuex + y * z.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | sub_mul_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | Assigns to xthe valuex - y * z.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | gcd_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | Assigns to xthe greatest common divisor ofyandz.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | gcdext_assign (Checked_Number< T, Policy > &x, Checked_Number< T, Policy > &s, Checked_Number< T, Policy > &t, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | Assigns to xthe greatest common divisor ofyandz, settingsandtsuch that s*y + t*z = x = gcd(y, z).  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | lcm_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | Assigns to xthe least common multiple ofyandz.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | mul_2exp_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, unsigned int exp) | 
|  | Assigns to xthe value .  More... 
 | 
|  | 
| template<typename T , typename Policy > | 
| void | div_2exp_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, unsigned int exp) | 
|  | Assigns to xthe value .  More... 
 | 
|  | 
| template<typename T , typename Policy > | 
| void | exact_div_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) | 
|  | If zdividesy, assigns toxthe quotient of the integer division ofyandz.  More...
 | 
|  | 
| template<typename T , typename Policy > | 
| void | sqrt_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) | 
|  | Assigns to xthe integer square root ofy.  More...
 | 
|  | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator== (const T1 &x, const T2 &y) | 
|  | Equality operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | equal (const T1 &x, const T2 &y) | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator!= (const T1 &x, const T2 &y) | 
|  | Disequality operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | not_equal (const T1 &x, const T2 &y) | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator>= (const T1 &x, const T2 &y) | 
|  | Greater than or equal to operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | greater_or_equal (const T1 &x, const T2 &y) | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator> (const T1 &x, const T2 &y) | 
|  | Greater than operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | greater_than (const T1 &x, const T2 &y) | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator<= (const T1 &x, const T2 &y) | 
|  | Less than or equal to operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | less_or_equal (const T1 &x, const T2 &y) | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value &&(Is_Checked< T1 >::value||Is_Checked< T2 >::value), bool >::type | operator< (const T1 &x, const T2 &y) | 
|  | Less than operator.  More... 
 | 
|  | 
| template<typename T1 , typename T2 > | 
| Enable_If< Is_Native_Or_Checked< T1 >::value &&Is_Native_Or_Checked< T2 >::value, bool >::type | less_than (const T1 &x, const T2 &y) | 
|  | 
| template<typename From > | 
| Enable_If< Is_Native_Or_Checked< From >::value, int >::type | sgn (const From &x) | 
|  | Returns  ,  or  depending on whether the value of xis negative, zero or positive, respectively.
 | 
|  | 
| template<typename From1 , typename From2 > | 
| Enable_If< Is_Native_Or_Checked< From1 >::value &&Is_Native_Or_Checked< From2 >::value, int >::type | cmp (const From1 &x, const From2 &y) | 
|  | Returns a negative, zero or positive value depending on whether xis lower than, equal to or greater thany, respectively.
 | 
|  | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, Result >::type | output (std::ostream &os, const T &x, const Numeric_Format &format, Rounding_Dir dir) | 
|  | 
| template<typename T , typename Policy > | 
| std::ostream & | operator<< (std::ostream &os, const Checked_Number< T, Policy > &x) | 
|  | Output operator.  More... 
 | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, void >::type | ascii_dump (std::ostream &s, const T &t) | 
|  | Ascii dump for native or checked.  More... 
 | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, Result >::type | input (T &x, std::istream &is, Rounding_Dir dir) | 
|  | Input function.  More... 
 | 
|  | 
| template<typename T , typename Policy > | 
| std::istream & | operator>> (std::istream &is, Checked_Number< T, Policy > &x) | 
|  | Input operator.  More... 
 | 
|  | 
| template<typename T > | 
| Enable_If< Is_Native_Or_Checked< T >::value, bool >::type | ascii_load (std::ostream &s, T &t) | 
|  | Ascii load for native or checked.  More... 
 | 
|  |