Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r62913 - in sandbox/xint: boost/xint boost/xint/detail libs/xint/doc libs/xint/doc/dox libs/xint/test
From: chad.thecomfychair_at_[hidden]
Date: 2010-06-13 12:33:28


Author: chadnelson
Date: 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
New Revision: 62913
URL: http://svn.boost.org/trac/boost/changeset/62913

Log:
String-type improvements suggested by Adam Merz.
Text files modified:
   sandbox/xint/boost/xint/detail/addsubtract.hpp | 8
   sandbox/xint/boost/xint/detail/andorxor.hpp | 6
   sandbox/xint/boost/xint/detail/basic_types_and_includes.hpp | 27
   sandbox/xint/boost/xint/detail/bitfunctions.hpp | 18
   sandbox/xint/boost/xint/detail/bitqueue.hpp | 21
   sandbox/xint/boost/xint/detail/compare.hpp | 2
   sandbox/xint/boost/xint/detail/convert.hpp | 28
   sandbox/xint/boost/xint/detail/divide.hpp | 6
   sandbox/xint/boost/xint/detail/gcd.hpp | 2
   sandbox/xint/boost/xint/detail/internals.hpp | 8
   sandbox/xint/boost/xint/detail/log2.hpp | 6
   sandbox/xint/boost/xint/detail/magnitude_manager.hpp | 10
   sandbox/xint/boost/xint/detail/modular.hpp | 4
   sandbox/xint/boost/xint/detail/monty.hpp | 18
   sandbox/xint/boost/xint/detail/multiply.hpp | 7
   sandbox/xint/boost/xint/detail/policies.hpp | 34
   sandbox/xint/boost/xint/detail/powers.hpp | 9
   sandbox/xint/boost/xint/detail/prime.hpp | 2
   sandbox/xint/boost/xint/detail/random_by_size.hpp | 4
   sandbox/xint/boost/xint/detail/raw_integer.hpp | 68
   sandbox/xint/boost/xint/detail/roots.hpp | 2
   sandbox/xint/boost/xint/detail/shift.hpp | 20
   sandbox/xint/boost/xint/detail/streams.hpp | 2
   sandbox/xint/boost/xint/integer.hpp | 163 -
   sandbox/xint/libs/xint/doc/acknowledgements.html | 4
   sandbox/xint/libs/xint/doc/acknowledgements_8dox.html | 2
   sandbox/xint/libs/xint/doc/addsubtract_8hpp.html | 2
   sandbox/xint/libs/xint/doc/addsubtract_8hpp_source.html | 10
   sandbox/xint/libs/xint/doc/andorxor_8hpp.html | 2
   sandbox/xint/libs/xint/doc/andorxor_8hpp_source.html | 8
   sandbox/xint/libs/xint/doc/annotated.html | 2
   sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp.html | 10
   sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp_source.html | 85
   sandbox/xint/libs/xint/doc/bitfunctions_8hpp.html | 2
   sandbox/xint/libs/xint/doc/bitfunctions_8hpp_source.html | 20
   sandbox/xint/libs/xint/doc/bitqueue_8hpp.html | 2
   sandbox/xint/libs/xint/doc/bitqueue_8hpp_source.html | 113
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html | 2
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t-members.html | 12
   sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t.html | 194 +-
   sandbox/xint/libs/xint/doc/classdisable__boost__rv__ref.html | 2
   sandbox/xint/libs/xint/doc/classes.html | 2
   sandbox/xint/libs/xint/doc/compare_8hpp.html | 2
   sandbox/xint/libs/xint/doc/compare_8hpp_source.html | 4
   sandbox/xint/libs/xint/doc/complexity.html | 2
   sandbox/xint/libs/xint/doc/complexity_8dox.html | 2
   sandbox/xint/libs/xint/doc/convert_8hpp.html | 2
   sandbox/xint/libs/xint/doc/convert_8hpp_source.html | 34
   sandbox/xint/libs/xint/doc/copyonwrite_8dox.html | 2
   sandbox/xint/libs/xint/doc/cow.html | 2
   sandbox/xint/libs/xint/doc/dependencies.html | 2
   sandbox/xint/libs/xint/doc/dependencies_8dox.html | 2
   sandbox/xint/libs/xint/doc/divide_8hpp.html | 2
   sandbox/xint/libs/xint/doc/divide_8hpp_source.html | 8
   sandbox/xint/libs/xint/doc/dox/acknowledgements.dox | 2
   sandbox/xint/libs/xint/doc/ex__fibonacci.html | 2
   sandbox/xint/libs/xint/doc/ex__fibonacci_8dox.html | 2
   sandbox/xint/libs/xint/doc/exceptions.html | 2
   sandbox/xint/libs/xint/doc/exceptions_8dox.html | 2
   sandbox/xint/libs/xint/doc/exceptions_8hpp.html | 2
   sandbox/xint/libs/xint/doc/exceptions_8hpp_source.html | 2
   sandbox/xint/libs/xint/doc/files.html | 2
   sandbox/xint/libs/xint/doc/fixedlength.html | 2
   sandbox/xint/libs/xint/doc/fixedlength_8dox.html | 2
   sandbox/xint/libs/xint/doc/functions.html | 6
   sandbox/xint/libs/xint/doc/functions_func.html | 6
   sandbox/xint/libs/xint/doc/functions_type.html | 2
   sandbox/xint/libs/xint/doc/functions_vars.html | 2
   sandbox/xint/libs/xint/doc/gcd_8hpp.html | 2
   sandbox/xint/libs/xint/doc/gcd_8hpp_source.html | 4
   sandbox/xint/libs/xint/doc/globals.html | 2
   sandbox/xint/libs/xint/doc/globals_defs.html | 2
   sandbox/xint/libs/xint/doc/hierarchy.html | 2
   sandbox/xint/libs/xint/doc/history.html | 2
   sandbox/xint/libs/xint/doc/history_8dox.html | 2
   sandbox/xint/libs/xint/doc/index.html | 2
   sandbox/xint/libs/xint/doc/index_8dox.html | 2
   sandbox/xint/libs/xint/doc/integer_8hpp.html | 17
   sandbox/xint/libs/xint/doc/integer_8hpp_source.html | 3358 +++++++++++++++++++--------------------
   sandbox/xint/libs/xint/doc/internals_8hpp.html | 2
   sandbox/xint/libs/xint/doc/internals_8hpp_source.html | 10
   sandbox/xint/libs/xint/doc/log2_8hpp.html | 2
   sandbox/xint/libs/xint/doc/log2_8hpp_source.html | 8
   sandbox/xint/libs/xint/doc/magnitude__manager_8hpp.html | 2
   sandbox/xint/libs/xint/doc/magnitude__manager_8hpp_source.html | 12
   sandbox/xint/libs/xint/doc/modular_8hpp.html | 2
   sandbox/xint/libs/xint/doc/modular_8hpp_source.html | 6
   sandbox/xint/libs/xint/doc/monty_8hpp.html | 2
   sandbox/xint/libs/xint/doc/monty_8hpp_source.html | 20
   sandbox/xint/libs/xint/doc/multiply_8hpp.html | 2
   sandbox/xint/libs/xint/doc/multiply_8hpp_source.html | 119
   sandbox/xint/libs/xint/doc/namespaceboost.html | 2
   sandbox/xint/libs/xint/doc/namespaceboost_1_1xint.html | 207 +-
   sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1detail.html | 2
   sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1exceptions.html | 2
   sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1options.html | 2
   sandbox/xint/libs/xint/doc/namespacemembers.html | 13
   sandbox/xint/libs/xint/doc/namespacemembers_func.html | 9
   sandbox/xint/libs/xint/doc/namespacemembers_type.html | 4
   sandbox/xint/libs/xint/doc/namespacemembers_vars.html | 4
   sandbox/xint/libs/xint/doc/namespaces.html | 2
   sandbox/xint/libs/xint/doc/nan.html | 2
   sandbox/xint/libs/xint/doc/nan_8dox.html | 2
   sandbox/xint/libs/xint/doc/options_8hpp.html | 2
   sandbox/xint/libs/xint/doc/options_8hpp_source.html | 2
   sandbox/xint/libs/xint/doc/policies_8hpp.html | 2
   sandbox/xint/libs/xint/doc/policies_8hpp_source.html | 226 +-
   sandbox/xint/libs/xint/doc/powers_8hpp.html | 2
   sandbox/xint/libs/xint/doc/powers_8hpp_source.html | 49
   sandbox/xint/libs/xint/doc/prime_8hpp.html | 2
   sandbox/xint/libs/xint/doc/prime_8hpp_source.html | 4
   sandbox/xint/libs/xint/doc/primes.html | 2
   sandbox/xint/libs/xint/doc/primes_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__core.html | 2
   sandbox/xint/libs/xint/doc/r__core_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__cow.html | 2
   sandbox/xint/libs/xint/doc/r__cow_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__exception__blocking.html | 2
   sandbox/xint/libs/xint/doc/r__exception__blocking_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__insecure__default.html | 2
   sandbox/xint/libs/xint/doc/r__insecure__default_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__interface.html | 2
   sandbox/xint/libs/xint/doc/r__interface_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__interface__design__only.html | 2
   sandbox/xint/libs/xint/doc/r__interface__design__only_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__nan.html | 2
   sandbox/xint/libs/xint/doc/r__nan_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__negzero.html | 2
   sandbox/xint/libs/xint/doc/r__negzero_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__no__floats.html | 2
   sandbox/xint/libs/xint/doc/r__nofloats_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__random.html | 2
   sandbox/xint/libs/xint/doc/r__random_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__shared__ptr.html | 2
   sandbox/xint/libs/xint/doc/r__shared__ptr_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__too__big.html | 2
   sandbox/xint/libs/xint/doc/r__toobig_8dox.html | 2
   sandbox/xint/libs/xint/doc/r__whynotx.html | 2
   sandbox/xint/libs/xint/doc/r__whynotx_8dox.html | 2
   sandbox/xint/libs/xint/doc/random.html | 2
   sandbox/xint/libs/xint/doc/random_8dox.html | 2
   sandbox/xint/libs/xint/doc/random_8hpp.html | 2
   sandbox/xint/libs/xint/doc/random_8hpp_source.html | 2
   sandbox/xint/libs/xint/doc/random__by__size_8hpp.html | 2
   sandbox/xint/libs/xint/doc/random__by__size_8hpp_source.html | 8
   sandbox/xint/libs/xint/doc/randomgen_8hpp.html | 2
   sandbox/xint/libs/xint/doc/randomgen_8hpp_source.html | 2
   sandbox/xint/libs/xint/doc/rationale.html | 2
   sandbox/xint/libs/xint/doc/rationale_8dox.html | 2
   sandbox/xint/libs/xint/doc/raw__integer_8hpp.html | 2
   sandbox/xint/libs/xint/doc/raw__integer_8hpp_source.html | 402 ++--
   sandbox/xint/libs/xint/doc/roots_8hpp.html | 2
   sandbox/xint/libs/xint/doc/roots_8hpp_source.html | 4
   sandbox/xint/libs/xint/doc/shift_8hpp.html | 2
   sandbox/xint/libs/xint/doc/shift_8hpp_source.html | 160
   sandbox/xint/libs/xint/doc/streams_8hpp.html | 2
   sandbox/xint/libs/xint/doc/streams_8hpp_source.html | 10
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength__base.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow__base.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure__base.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe.html | 2
   sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe__base.html | 2
   sandbox/xint/libs/xint/doc/testing.html | 2
   sandbox/xint/libs/xint/doc/testing_8dox.html | 2
   sandbox/xint/libs/xint/doc/threadsafe.html | 2
   sandbox/xint/libs/xint/doc/threadsafe_8dox.html | 2
   sandbox/xint/libs/xint/doc/xint_8hpp.html | 2
   sandbox/xint/libs/xint/doc/xint_8hpp_source.html | 2
   sandbox/xint/libs/xint/doc/zero.html | 2
   sandbox/xint/libs/xint/doc/zero_8dox.html | 2
   sandbox/xint/libs/xint/test/test_convert.cpp | 7
   sandbox/xint/libs/xint/test/test_monty.cpp | 4
   198 files changed, 3004 insertions(+), 2922 deletions(-)

Modified: sandbox/xint/boost/xint/detail/addsubtract.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/addsubtract.hpp (original)
+++ sandbox/xint/boost/xint/detail/addsubtract.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -55,7 +55,7 @@
         }
     }
 
- n.length = (std::max)(n.length, size_t(t - ndig));
+ n.length = (std::max)(n.length, std::size_t(t - ndig));
     n.trim();
 }
 
@@ -82,7 +82,7 @@
             }
         }
 
- n.length = size_t(t - ndig);
+ n.length = std::size_t(t - ndig);
         n.negative = !n.negative;
     } else {
         while (p != pe) {
@@ -102,7 +102,7 @@
                 else { *t++ -= 1; borrow = 0; break; }
             }
         }
- n.length = (std::max)(n.length, size_t(t - ndig));
+ n.length = (std::max)(n.length, std::size_t(t - ndig));
     }
 
     assert(borrow == 0);
@@ -116,7 +116,7 @@
     } else if (!absolute_value && n.negative) {
         sub_decrement(n, true);
     } else {
- size_t overflow = (n.digits()[n.length - 1] == digit_mask ? 1 : 0);
+ std::size_t overflow = (n.digits()[n.length - 1] == digit_mask ? 1 : 0);
         digit_t *d = n.digits(n.length + overflow, realloc::extend), *p = d, *pe
             = p + n.length;
         while (p < pe) {

Modified: sandbox/xint/boost/xint/detail/andorxor.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/andorxor.hpp (original)
+++ sandbox/xint/boost/xint/detail/andorxor.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 
 BOOST_XINT_RAWINT_TPL
 BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator&=(const BOOST_XINT_RAWINT n) {
- size_t len = (std::min)(length, n.length);
+ std::size_t len = (std::min)(length, n.length);
     const digit_t *ns = n.digits(), *nse = ns + len;
     digit_t *t = digits(len, realloc::extend);
     while (ns != nse) *t++ &= *ns++;
@@ -38,7 +38,7 @@
 
 BOOST_XINT_RAWINT_TPL
 BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator|=(const BOOST_XINT_RAWINT n) {
- size_t len = (std::max)(length, n.length);
+ std::size_t len = (std::max)(length, n.length);
     if (length > n.length) {
         const digit_t *ns = n.digits(), *nse = ns + n.length;
         digit_t *t = digits(len, realloc::extend);
@@ -56,7 +56,7 @@
 
 BOOST_XINT_RAWINT_TPL
 BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator^=(const BOOST_XINT_RAWINT n) {
- size_t len = (std::max)(length, n.length);
+ std::size_t len = (std::max)(length, n.length);
     if (length > n.length) {
         const digit_t *ns = n.digits(), *nse = ns + n.length;
         digit_t *t = digits(len, realloc::extend);

Modified: sandbox/xint/boost/xint/detail/basic_types_and_includes.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/basic_types_and_includes.hpp (original)
+++ sandbox/xint/boost/xint/detail/basic_types_and_includes.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -31,7 +31,7 @@
 #include <vector>
 #include <queue>
 #include <limits>
-#include <cstddef> // for size_t
+#include <cstddef> // for std::size_t
 #include <cassert>
 #include <sstream>
 #include <fstream>
@@ -78,10 +78,10 @@
 
 //! \brief A value that can be used for the 'base' parameter of the
 //! string-to-integer constructor functions.
-const size_t autobase = (std::numeric_limits<size_t>::max)();
+const std::size_t autobase = (std::numeric_limits<size_t>::max)();
 
 //! \brief This makes it easier to tell when an item is measured in bits.
-typedef size_t bitsize_t;
+typedef std::size_t bitsize_t;
 
 //! \brief Holds the results from a division-with-remainder call.
 template <class T>
@@ -128,9 +128,10 @@
 
 //! \name Some constants used by the library.
 //!@{
-const size_t minimum_digits = 1;
-const size_t bits_per_digit = std::numeric_limits<digit_t>::digits;
-const size_t digits_in_uintmax =
+const std::size_t minimum_digits = 1;
+const std::size_t bits_per_digit =
+ std::numeric_limits<digit_t>::digits;
+const std::size_t digits_in_uintmax =
     (std::numeric_limits<boost::uintmax_t>::digits + bits_per_digit - 1) /
     bits_per_digit;
 const digit_t digit_hibit = (digit_t(1) << (bits_per_digit-1));
@@ -145,25 +146,25 @@
 //! up if you're not familiar with it.
 struct magnitude_t {
     private:
- size_t copy_count;
+ std::size_t copy_count;
 
     public:
     const bool readonly;
- const size_t max_length;
+ const std::size_t max_length;
     digit_t digits[minimum_digits]; // Must be last data item, see "struct hack"
 
- magnitude_t(size_t max_len = minimum_digits, bool ro = false):
+ magnitude_t(std::size_t max_len = minimum_digits, bool ro = false):
         copy_count(0), readonly(ro), max_length(max_len) { }
- magnitude_t(size_t max_len, bool ro, digit_t init): copy_count(0),
+ magnitude_t(std::size_t max_len, bool ro, digit_t init): copy_count(0),
         readonly(ro), max_length(max_len) { digits[0] = init; }
- size_t copies() const { return copy_count; }
+ std::size_t copies() const { return copy_count; }
 
     void inc() { ++copy_count; }
     bool dec() { return (--copy_count == 0); }
 };
 
-inline size_t bits_to_digits(size_t bits) { return (bits + bits_per_digit - 1) /
- bits_per_digit; }
+inline std::size_t bits_to_digits(std::size_t bits) { return (bits +
+ bits_per_digit - 1) / bits_per_digit; }
 
 //! @endcond detail
 } // namespace detail

Modified: sandbox/xint/boost/xint/detail/bitfunctions.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/bitfunctions.hpp (original)
+++ sandbox/xint/boost/xint/detail/bitfunctions.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,8 +26,8 @@
 namespace detail {
 
 BOOST_XINT_RAWINT_TPL
-bool getbit(const BOOST_XINT_RAWINT n, size_t bit_index) {
- size_t index = bit_index / bits_per_digit;
+bool getbit(const BOOST_XINT_RAWINT n, std::size_t bit_index) {
+ std::size_t index = bit_index / bits_per_digit;
     if (index < n.length) {
         digit_t mask = (digit_t(1) << (bit_index % bits_per_digit));
         return ((n[index] & mask) != 0);
@@ -35,9 +35,9 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-void setbit(BOOST_XINT_RAWINT& n, size_t bit_index) {
+void setbit(BOOST_XINT_RAWINT& n, std::size_t bit_index) {
     if (Bits != 0 && bit_index >= (n.max_length() * bits_per_digit)) return;
- size_t index = (bit_index / bits_per_digit);
+ std::size_t index = (bit_index / bits_per_digit);
     digit_t mask = (digit_t(1) << (bit_index % bits_per_digit));
     n.digits(index + 1, realloc::extend)[index] |= mask;
     if (n.length < index + 1) n.length = index + 1;
@@ -45,8 +45,8 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-void clearbit(BOOST_XINT_RAWINT& n, size_t bit_index) {
- size_t index = (bit_index / bits_per_digit);
+void clearbit(BOOST_XINT_RAWINT& n, std::size_t bit_index) {
+ std::size_t index = (bit_index / bits_per_digit);
     if (index >= n.length) return; // Bit can't be set, no need to clear it.
     digit_t mask = (digit_t(1) << (bit_index % bits_per_digit));
     n.digits(0)[index] &= ~mask;
@@ -54,12 +54,12 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-size_t lowestbit(const BOOST_XINT_RAWINT n, size_t valueIfZero) {
+size_t lowestbit(const BOOST_XINT_RAWINT n, std::size_t valueIfZero) {
     if (n.is_zero()) return valueIfZero;
 
     const digit_t *d = n.digits(), *p = d, *pe = p + n.length;
     while (p != pe && *p == 0) ++p;
- size_t r = (bits_per_digit * (p - d));
+ std::size_t r = (bits_per_digit * (p - d));
 
     digit_t digit = *p;
     while ((digit & 0x01)==0) { digit >>= 1; ++r; }
@@ -68,7 +68,7 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-size_t highestbit(const BOOST_XINT_RAWINT n, size_t valueIfZero) {
+size_t highestbit(const BOOST_XINT_RAWINT n, std::size_t valueIfZero) {
     if (n.is_zero()) return valueIfZero;
     return ((n.length - 1) * bits_per_digit) + log2(n[n.length - 1]);
 }

Modified: sandbox/xint/boost/xint/detail/bitqueue.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/bitqueue.hpp (original)
+++ sandbox/xint/boost/xint/detail/bitqueue.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,21 +29,22 @@
 class bitqueue_t {
     public:
     bitqueue_t(): bits_pending(0) { }
- void push(doubledigit_t bits, size_t count);
- doubledigit_t pop(size_t requestedbits);
+ void push(doubledigit_t bits, std::size_t count);
+ doubledigit_t pop(std::size_t requestedbits);
     bool empty() const { return pending.empty(); }
- size_t size() const { return bits_pending; }
+ std::size_t size() const { return bits_pending; }
 
     private:
- static const size_t ddbits = std::numeric_limits<doubledigit_t>::digits;
- typedef std::pair<doubledigit_t, size_t> indata_t;
+ static const std::size_t ddbits =
+ std::numeric_limits<doubledigit_t>::digits;
+ typedef std::pair<doubledigit_t, std::size_t> indata_t;
     typedef std::queue<indata_t> inqueue_t;
 
- size_t bits_pending;
+ std::size_t bits_pending;
     inqueue_t pending;
 };
 
-inline void bitqueue_t::push(doubledigit_t bits, size_t count) {
+inline void bitqueue_t::push(doubledigit_t bits, std::size_t count) {
     if (count < ddbits) {
         doubledigit_t mask = (doubledigit_t(1) << count) - 1;
         bits &= mask;
@@ -63,12 +64,12 @@
     bits_pending += count;
 }
 
-inline doubledigit_t bitqueue_t::pop(size_t requestedbits) {
+inline doubledigit_t bitqueue_t::pop(std::size_t requestedbits) {
     doubledigit_t buffer = 0;
- size_t bits_in_buffer = 0;
+ std::size_t bits_in_buffer = 0;
     while (bits_in_buffer < requestedbits && !pending.empty()) {
         indata_t &n(pending.front());
- size_t maxbits = requestedbits - bits_in_buffer, actualbits =
+ std::size_t maxbits = requestedbits - bits_in_buffer, actualbits =
             (std::min)(n.second, maxbits);
         buffer |= (n.first << bits_in_buffer);
 

Modified: sandbox/xint/boost/xint/detail/compare.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/compare.hpp (original)
+++ sandbox/xint/boost/xint/detail/compare.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,7 +26,7 @@
 namespace detail {
 
 //! Compares equal-length sets of digits.
-inline int compare(const digit_t *b1, const digit_t *b2, size_t len, bool
+inline int compare(const digit_t *b1, const digit_t *b2, std::size_t len, bool
     equal_only)
 {
     const detail::digit_t *b1i = b1 + len, *b2i = b2 + len;

Modified: sandbox/xint/boost/xint/detail/convert.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/convert.hpp (original)
+++ sandbox/xint/boost/xint/detail/convert.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -32,8 +32,8 @@
 }
 
 template <typename charT, bitsize_t Bits, bool Secure, class Alloc>
-std::basic_string<charT> to_string(const BOOST_XINT_RAWINT n, size_t base = 10,
- bool uppercase = false)
+std::basic_string<charT> to_string(const BOOST_XINT_RAWINT n, std::size_t base =
+ 10, bool uppercase = false)
 {
     if (base < 2 || base > 36) throw exceptions::invalid_base();
 
@@ -100,8 +100,8 @@
 
 BOOST_XINT_RAWINT_TPL
 template <typename charT>
-void BOOST_XINT_RAWINT::from_string(const charT *str, char **endptr, size_t
- base)
+void BOOST_XINT_RAWINT::from_string(const charT *str, const charT*& endptr,
+ std::size_t base)
 {
     bool negate = false;
     const charT *c = str;
@@ -137,14 +137,14 @@
             || (*c >= 'A' && *c < upper))
                 tstr.push_back(*c++);
     }
- *endptr = const_cast<charT*>(c);
+ endptr = c;
 
     from_string(tstr, base);
 }
 
 BOOST_XINT_RAWINT_TPL
 template <typename charT>
-void BOOST_XINT_RAWINT::from_string(const charT *str, size_t base) {
+void BOOST_XINT_RAWINT::from_string(const charT *str, std::size_t base) {
     bool negate = false;
     const charT *c = str;
     if (*c == '+') ++c;
@@ -193,16 +193,16 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-template <typename charT>
-void BOOST_XINT_RAWINT::from_string(const std::basic_string<charT>& str, size_t
- base)
+template <typename charT, typename traitsT, typename allocT>
+void BOOST_XINT_RAWINT::from_string(const std::basic_string<charT, traitsT,
+ allocT>& str, std::size_t base)
 {
     from_string(str.c_str(), base);
 }
 
 BOOST_XINT_RAWINT_TPL
-xint::binary_t to_binary(const BOOST_XINT_RAWINT n, size_t bits = 0) {
- if (bits > size_t(std::numeric_limits<unsigned char>::digits)) throw
+xint::binary_t to_binary(const BOOST_XINT_RAWINT n, std::size_t bits = 0) {
+ if (bits > std::size_t(std::numeric_limits<unsigned char>::digits)) throw
         exceptions::invalid_argument("can't fit that many bits into an "
         "unsigned character on this system");
     if (bits == 0) bits = std::numeric_limits<unsigned char>::digits;
@@ -219,8 +219,8 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-void BOOST_XINT_RAWINT::from_binary(xint::binary_t b, size_t bits) {
- if (bits > size_t(std::numeric_limits<unsigned char>::digits)) throw
+void BOOST_XINT_RAWINT::from_binary(xint::binary_t b, std::size_t bits) {
+ if (bits > std::size_t(std::numeric_limits<unsigned char>::digits)) throw
         exceptions::invalid_argument("can't fit that many bits into an "
         "unsigned character on this system");
     if (bits == 0) bits = std::numeric_limits<unsigned char>::digits;
@@ -249,7 +249,7 @@
                 "for requested conversion");
 
     T rval = 0, shift = T(digit_overflowbit);
- for (size_t x = 0; x < n.length; ++x) {
+ for (std::size_t x = 0; x < n.length; ++x) {
         if (sizeof(T) > sizeof(digit_t)) rval *= shift;
         rval += static_cast<T>(n[n.length - x - 1]);
     }

Modified: sandbox/xint/boost/xint/detail/divide.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/divide.hpp (original)
+++ sandbox/xint/boost/xint/detail/divide.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -30,7 +30,7 @@
 void divide_by_single_digit(BOOST_XINT_RAWINT& qtarget, BOOST_XINT_RAWINT&
     rtarget, const BOOST_XINT_RAWINT d1, digit_t d2)
 {
- size_t d1len = d1.length;
+ std::size_t d1len = d1.length;
     const digit_t *d1digits = d1.digits();
 
     doubledigit_t a = 0;
@@ -68,8 +68,8 @@
 
     const digit_t *byDigits = d2.digits();
 
- size_t n = d2.length, m = d1.length - n;
- size_t i = m + n, j = m;
+ std::size_t n = d2.length, m = d1.length - n;
+ std::size_t i = m + n, j = m;
 
     digit_t *qdigits = qtarget.digits(j + 1, realloc::ignore);
     qtarget.length = (std::min)(j + 1, qtarget.max_length());

Modified: sandbox/xint/boost/xint/detail/gcd.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/gcd.hpp (original)
+++ sandbox/xint/boost/xint/detail/gcd.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -74,7 +74,7 @@
     } else {
         BOOST_XINT_RAWINT n(num1, false), m(num2, false);
 
- size_t k = 0;
+ std::size_t k = 0;
         if (!getbit(n, k) && !getbit(m, k)) ++k;
         if (k != 0) { n >>= k; m >>= k; }
 

Modified: sandbox/xint/boost/xint/detail/internals.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/internals.hpp (original)
+++ sandbox/xint/boost/xint/detail/internals.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -67,26 +67,26 @@
 namespace detail {
 //! @cond detail
 
-inline size_t log10_bits(size_t bits) {
+inline std::size_t log10_bits(std::size_t bits) {
     // large_step and count_per_large_step are based on a minimum-32-bit integer
     assert(std::numeric_limits<boost::intmax_t>::digits >= 32);
 
     typedef raw_integer_t<0, false, std::allocator<digit_t> > T;
     const T large_step(1000000000), small_step(10);
- const size_t count_per_large_step = 9, count_per_small_step = 1;
+ const std::size_t count_per_large_step = 9, count_per_small_step = 1;
 
     T n;
     pow2(n, bits);
     --n;
 
- size_t r = 0;
+ std::size_t r = 0;
     while (n >= large_step) { n /= large_step; r += count_per_large_step; }
     while (n >= small_step) { n /= small_step; r += count_per_small_step; }
     return r;
 }
 
 template <typename charT>
-std::basic_string<charT> nan_text() {
+const std::basic_string<charT>& nan_text() {
     static std::basic_string<charT> r;
     if (r.empty()) {
         std::basic_ostringstream<charT> out;

Modified: sandbox/xint/boost/xint/detail/log2.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/log2.hpp (original)
+++ sandbox/xint/boost/xint/detail/log2.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,14 +25,14 @@
 namespace detail {
 //! @cond detail
 
-inline size_t log2_base(boost::uintmax_t n, size_t maxbits) {
+inline std::size_t log2_base(boost::uintmax_t n, std::size_t maxbits) {
     boost::uintmax_t lo = 0, hi = maxbits;
     while (lo < hi) {
         boost::uintmax_t s = lo + ((hi - lo) >> 1);
         if (n >= (boost::uintmax_t(1) << s)) lo = s + 1;
         else hi = s;
     }
- return size_t(lo);
+ return std::size_t(lo);
 }
 
 template <typename T>
@@ -60,7 +60,7 @@
 
 BOOST_XINT_RAWINT_TPL
 size_t log2(const BOOST_XINT_RAWINT n) {
- size_t r = bits_per_digit * (n.length - 1);
+ std::size_t r = bits_per_digit * (n.length - 1);
     return r + log2(n[n.length - 1]);
 }
 

Modified: sandbox/xint/boost/xint/detail/magnitude_manager.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/magnitude_manager.hpp (original)
+++ sandbox/xint/boost/xint/detail/magnitude_manager.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -31,7 +31,7 @@
     typedef allocator_t<Bits, Secure, Allocator> Alloc;
 
     magnitude_manager_t(): raw_data(zerodata()) { inc(); }
- explicit magnitude_manager_t(size_t length, bool readonly = false):
+ explicit magnitude_manager_t(std::size_t length, bool readonly = false):
         raw_data(Alloc::alloc(length, readonly)) { inc(); }
     magnitude_manager_t(const magnitude_manager_t<Bits, Secure, Allocator>&
         copy): raw_data(copy.raw_data) { inc(); }
@@ -46,20 +46,20 @@
     bool is_nan() const { return (raw_data == 0); }
     void make_nan() { dec(); raw_data = 0; }
 
- void resize_and_uniquify(size_t newsize = 0, realloc::strategy strategy =
- realloc::copy) { raw_data = Alloc::realloc_and_uniquify(raw_data,
+ void resize_and_uniquify(std::size_t newsize = 0, realloc::strategy strategy
+ = realloc::copy) { raw_data = Alloc::realloc_and_uniquify(raw_data,
         newsize, strategy); }
 
     bool same_storage(const magnitude_manager_t<Bits, Secure, Allocator> n)
         const { return raw_data == n.raw_data; }
 
     // Do not call these on a NaN
- size_t max_length() const { return raw_data->max_length; }
+ std::size_t max_length() const { return raw_data->max_length; }
     bool is_unique() const { return (raw_data->copies() == 1); }
     digit_t *digits() { return raw_data->digits; }
     const digit_t *digits() const { return raw_data->digits; }
     void trim() { fixedlength_t<Bits>::trim(raw_data); }
-
+
     void _swap(magnitude_manager_t<Bits, Secure, Allocator>& i2) {
         using std::swap;
         swap(raw_data, i2.raw_data);

Modified: sandbox/xint/boost/xint/detail/modular.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/modular.hpp (original)
+++ sandbox/xint/boost/xint/detail/modular.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -55,11 +55,11 @@
     } else {
         BOOST_XINT_RAWINT answer(1), p(n.abs());
 
- size_t lastBitCount = 0;
+ std::size_t lastBitCount = 0;
         detail::digit_t ee(e[e.length - 1]);
         while (ee != 0) { ee >>= 1; ++lastBitCount; }
 
- for (size_t eIndex = 0; eIndex < e.length; ++eIndex) {
+ for (std::size_t eIndex = 0; eIndex < e.length; ++eIndex) {
             detail::digit_t ee(e[eIndex]);
 
             int bitCount(int(eIndex == e.length - 1 ? lastBitCount :

Modified: sandbox/xint/boost/xint/detail/monty.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/monty.hpp (original)
+++ sandbox/xint/boost/xint/detail/monty.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -31,7 +31,7 @@
     // Using the Dussé and Kalisk simplification
     doubledigit_t x = 2, y = 1;
     digit_t n0 = n[0];
- for (size_t i = 2; i <= bits_per_digit; ++i, x <<= 1)
+ for (std::size_t i = 2; i <= bits_per_digit; ++i, x <<= 1)
         if (x < ((n0 * y) & ((x << 1) - 1))) y += x;
     return digit_t(x - y);
 }
@@ -78,9 +78,9 @@
     // Unstated parameter r is B^L
     // nPrime0 is nPrime mod B, or digit zero of nPrime
 
- const size_t L(n.length);
+ const std::size_t L(n.length);
 
- size_t i = 0;
+ std::size_t i = 0;
     BOOST_XINT_RAWINT t(a * b);
 
     do {
@@ -101,7 +101,7 @@
 // the calculations by a small amount, whereas it increases the memory
 // requirements and number of precalculations by an exponential amount. 8
 // provides a good balance.
-const size_t cMaxK = 8;
+const std::size_t cMaxK = 8;
 typedef boost::uint_t<cMaxK>::fast kbitdigit_t; // k bits have to fit into it
 typedef std::vector<kbitdigit_t> vkbitdigit_t;
 #define ddPowerOfTwo(p) (doubledigit_t(1) << p)
@@ -117,7 +117,7 @@
     public:
     typedef std::pair<int, int> value_t;
 
- const value_t& operator[](size_t x) const { return mTable[x]; }
+ const value_t& operator[](std::size_t x) const { return mTable[x]; }
 
     static const TUTable& get() {
         // Construct a singleton instance on demand
@@ -161,13 +161,13 @@
 
 BOOST_XINT_RAWINT_TPL
 std::vector<BOOST_XINT_RAWINT> precalculateOddPowersOfAa(const BOOST_XINT_RAWINT
- a, const BOOST_XINT_RAWINT r, const BOOST_XINT_RAWINT n, size_t k)
+ a, const BOOST_XINT_RAWINT r, const BOOST_XINT_RAWINT n, std::size_t k)
 {
     BOOST_XINT_RAWINT zero, one(1);
     BOOST_XINT_RAWINT aa = a * r % n, aSquared = a * a % n;
 
     std::vector<BOOST_XINT_RAWINT> rval;
- rval.reserve(size_t(ddPowerOfTwo(k)));
+ rval.reserve(std::size_t(ddPowerOfTwo(k)));
     rval.push_back(one); // Anything to the zeroth power is one
     rval.push_back(aa); // Anything to the first power is itself
 
@@ -195,7 +195,7 @@
         "requires an odd modulus");
 
     // Precalculate some values
- const size_t k(mostEfficientK(e));
+ const std::size_t k(mostEfficientK(e));
     const BOOST_XINT_RAWINT r(montgomeryR(n));
     const digit_t nPrime0(inverse0(n));
     const std::vector<BOOST_XINT_RAWINT> oddPowersOfAa(
@@ -236,7 +236,7 @@
         } else {
             std::pair<int, int> tu = tuTable[i];
 
- size_t s = k - tu.first;
+ std::size_t s = k - tu.first;
             while (s-- > 0) pp = montgomeryMultiplyMod(pp, pp, n, nPrime0);
 
             pp = montgomeryMultiplyMod(pp, oddPowersOfAa[tu.second], n,

Modified: sandbox/xint/boost/xint/detail/multiply.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/multiply.hpp (original)
+++ sandbox/xint/boost/xint/detail/multiply.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,14 +28,14 @@
 BOOST_XINT_RAWINT_TPL
 BOOST_XINT_RAWINT square(const BOOST_XINT_RAWINT n) {
     const digit_t *ndigits = n.digits();
- size_t nlen = n.length;
+ std::size_t nlen = n.length;
 
     BOOST_XINT_RAWINT target;
     digit_t *rdigits = target.digits(n.length * 2 + 1, realloc::zero), *rmax =
         rdigits + target.length;
 
     // Calculate the product of digits of unequal index
- size_t i = 0;
+ std::size_t i = 0;
     doubledigit_t c;
     do {
         const doubledigit_t ii = ndigits[i];
@@ -106,7 +106,8 @@
     BOOST_XINT_RAWINT target;
     digit_t *adigits = target.digits(n.length + by.length, realloc::zero),
         *ae = adigits + target.max_length();
- size_t maxdigit = target.max_length(), nlen = n.length, bylen = by.length;
+ std::size_t maxdigit = target.max_length(), nlen = n.length, bylen =
+ by.length;
 
     // Now multiply the digits, starting at the least-significant digit.
     const digit_t *d1 = n.digits(), *d1e = d1 + (std::min)(nlen, maxdigit);

Modified: sandbox/xint/boost/xint/detail/policies.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/policies.hpp (original)
+++ sandbox/xint/boost/xint/detail/policies.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -37,10 +37,10 @@
     BOOST_STATIC_ASSERT(sizeof(typename Alloc::value_type) == sizeof(digit_t));
 
     public:
- static magnitude_t *alloc(size_t size, bool readonly = false);
- static magnitude_t *realloc_and_uniquify(magnitude_t *old, size_t newsize
- = 0, realloc::strategy strategy = realloc::copy);
- static magnitude_t *duplicate(magnitude_t *source, size_t newsize = 0);
+ static magnitude_t *alloc(std::size_t size, bool readonly = false);
+ static magnitude_t *realloc_and_uniquify(magnitude_t *old, std::size_t
+ newsize = 0, realloc::strategy strategy = realloc::copy);
+ static magnitude_t *duplicate(magnitude_t *source, std::size_t newsize = 0);
     static void dealloc(magnitude_t *p);
 
     static void attach(magnitude_t *p);
@@ -48,17 +48,17 @@
 
     private:
     static Alloc allocator;
- static const size_t fixed_length;
- static const size_t magnitude_datasize;
+ static const std::size_t fixed_length;
+ static const std::size_t magnitude_datasize;
 };
 
 template <bitsize_t Bits, bool Secure, class Alloc>
     Alloc allocator_t<Bits, Secure, Alloc>::allocator;
 template <bitsize_t Bits, bool Secure, class Alloc>
- const size_t allocator_t<Bits, Secure, Alloc>::fixed_length = (Bits +
+ const std::size_t allocator_t<Bits, Secure, Alloc>::fixed_length = (Bits +
     bits_per_digit - 1) / bits_per_digit;
 template <bitsize_t Bits, bool Secure, class Alloc>
- const size_t allocator_t<Bits, Secure, Alloc>::magnitude_datasize =
+ const std::size_t allocator_t<Bits, Secure, Alloc>::magnitude_datasize =
     (sizeof(magnitude_t) + sizeof(digit_t) - 1) / sizeof(digit_t);
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -73,13 +73,13 @@
     }
 
     private:
- static const size_t last_digit;
+ static const std::size_t last_digit;
     static const digit_t mask;
 };
 
 template <bitsize_t Bits, bitsize_t Modded>
-const size_t fixedlength_t<Bits, Modded>::last_digit = ((Bits + bits_per_digit -
- 1) / bits_per_digit) - 1;
+const std::size_t fixedlength_t<Bits, Modded>::last_digit = ((Bits +
+ bits_per_digit - 1) / bits_per_digit) - 1;
 template <bitsize_t Bits, bitsize_t Modded>
 const digit_t fixedlength_t<Bits, Modded>::mask = digit_t((doubledigit_t(1) <<
     (Bits % bits_per_digit)) - 1);
@@ -94,11 +94,12 @@
 // Function Definitions
 
 template <bitsize_t Bits, bool Secure, class Alloc>
-magnitude_t *allocator_t<Bits, Secure, Alloc>::alloc(size_t size, bool readonly)
+magnitude_t *allocator_t<Bits, Secure, Alloc>::alloc(std::size_t size, bool
+ readonly)
 {
     if (fixed_length) size = fixed_length;
     else if (size < minimum_digits) size = minimum_digits;
- const size_t count = size - minimum_digits + magnitude_datasize;
+ const std::size_t count = size - minimum_digits + magnitude_datasize;
 
     digit_t *storage = 0;
     try {
@@ -118,7 +119,7 @@
 
 template <bitsize_t Bits, bool Secure, class Alloc>
 magnitude_t *allocator_t<Bits, Secure, Alloc>::realloc_and_uniquify(magnitude_t
- *old, size_t newsize, realloc::strategy strategy)
+ *old, std::size_t newsize, realloc::strategy strategy)
 {
     if (fixed_length) {
         newsize = fixed_length;
@@ -157,7 +158,7 @@
 
 template <bitsize_t Bits, bool Secure, class Alloc>
 magnitude_t *allocator_t<Bits, Secure, Alloc>::duplicate(magnitude_t *source,
- size_t newsize)
+ std::size_t newsize)
 {
     attach(source);
     return realloc_and_uniquify(source, newsize, realloc::copy);
@@ -167,7 +168,8 @@
 void allocator_t<Bits, Secure, Alloc>::dealloc(magnitude_t *data) {
     if (data == 0) return;
 
- const size_t len = (data->max_length + magnitude_datasize - minimum_digits);
+ const std::size_t len = (data->max_length + magnitude_datasize -
+ minimum_digits);
 
     // Since the data was initialized with placement-new, we have to manually
     // call the destructor.

Modified: sandbox/xint/boost/xint/detail/powers.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/powers.hpp (original)
+++ sandbox/xint/boost/xint/detail/powers.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -42,13 +42,13 @@
 
     bool neg = (!n.is_zero() && n.negative && e.is_odd());
 
- size_t lastBitCount = 0;
+ std::size_t lastBitCount = 0;
     digit_t ee(e[e.length - 1]);
     while (ee != 0) { ee >>= 1; ++lastBitCount; }
 
     BOOST_XINT_RAWINT p(n.abs());
     target.set(1);
- for (size_t eIndex = 0; eIndex < e.length; ++eIndex) {
+ for (std::size_t eIndex = 0; eIndex < e.length; ++eIndex) {
         digit_t eee(e[eIndex]);
 
         int bitCount(int(eIndex == e.length - 1 ? lastBitCount :
@@ -63,13 +63,14 @@
     target.trim();
 }
 
-BOOST_XINT_RAWINT_TPL void pow2(BOOST_XINT_RAWINT& target, size_t exponent) {
+BOOST_XINT_RAWINT_TPL void pow2(BOOST_XINT_RAWINT& target, std::size_t exponent)
+{
     target.set(0);
     setbit(target, exponent);
     target.trim();
 }
 
-BOOST_XINT_RAWINT_TPL void factorial(BOOST_XINT_RAWINT& target, size_t n) {
+BOOST_XINT_RAWINT_TPL void factorial(BOOST_XINT_RAWINT& target, std::size_t n) {
     target.set(1);
 
     BOOST_XINT_RAWINT one(1), nn(n);

Modified: sandbox/xint/boost/xint/detail/prime.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/prime.hpp (original)
+++ sandbox/xint/boost/xint/detail/prime.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -114,7 +114,7 @@
 
 BOOST_XINT_RAWINT_TPL
 template <typename GenType>
-BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_prime(GenType& gen, size_t
+BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_prime(GenType& gen, std::size_t
     size_in_bits, callback_t callback)
 {
     if (size_in_bits < 2) throw exceptions::invalid_argument("cannot create "

Modified: sandbox/xint/boost/xint/detail/random_by_size.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/random_by_size.hpp (original)
+++ sandbox/xint/boost/xint/detail/random_by_size.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -40,14 +40,14 @@
 
     // Stick them into an integer
     BOOST_XINT_RAWINT target;
- size_t d = bits_to_digits(bits);
+ std::size_t d = bits_to_digits(bits);
     digit_t *tdigits = target.digits(d, realloc::ignore);
     target.length = (std::min)(d + 1, target.max_length());
     digit_t *pp = tdigits, *ppe = pp + target.length;
     while (pp < ppe) *pp++ = static_cast<digit_t>(bitqueue.pop(bits_per_digit));
 
     // Trim it to the proper length
- size_t index = (bits / bits_per_digit);
+ std::size_t index = (bits / bits_per_digit);
     digit_t mask = (digit_t(1) << (bits % bits_per_digit)) - 1;
     if (mask == 0) { mask = digit_mask; --index; }
     target.length = index + 1;

Modified: sandbox/xint/boost/xint/detail/raw_integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/raw_integer.hpp (original)
+++ sandbox/xint/boost/xint/detail/raw_integer.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -36,7 +36,7 @@
     typedef magnitude_manager_t<Bits, Secure, Alloc> datatype;
     typedef base_divide_t<BOOST_XINT_RAWINT> divide_t;
 
- size_t length;
+ std::size_t length;
     bool negative;
 
     raw_integer_t(): length(1), negative(false), changed(false) { }
@@ -51,30 +51,36 @@
         false): length(copy.length), negative(neg), changed(false),
         data(copy.data) { trim(allow_zero); }
     template <typename T>
- raw_integer_t(T n, size_t prealloc = 0, typename boost::enable_if<
+ raw_integer_t(T n, std::size_t prealloc = 0, typename boost::enable_if<
         boost::is_integral<T> >::type* = 0): length(1), negative(false),
         changed(false) { if (std::numeric_limits<T>::is_signed) set_signed(n,
         prealloc); else set_unsigned(n, false, prealloc); }
     template <typename charT>
- raw_integer_t(const charT *s, size_t base = 10): length(1), negative(false),
- changed(false) { from_string(s, base); }
+ raw_integer_t(const charT *s, std::size_t base = 10): length(1),
+ negative(false), changed(false) { from_string(s, base); }
     template <typename charT>
- raw_integer_t(const std::basic_string<charT>& s, size_t base = 10):
- length(1), negative(false), changed(false) { from_string(s, base); }
- raw_integer_t(const xint::binary_t b, size_t bits = 0): length(1),
+ raw_integer_t(const charT *s, const charT*& endptr, std::size_t base = 10):
+ length(1), negative(false), changed(false) { from_string(s, endptr,
+ base); }
+ template <typename charT, typename traitsT, typename allocT>
+ raw_integer_t(const std::basic_string<charT, traitsT, allocT>& s,
+ std::size_t base = 10): length(1), negative(false), changed(false) {
+ from_string(s, base); }
+ raw_integer_t(const xint::binary_t b, std::size_t bits = 0): length(1),
         negative(false), changed(false) { from_binary(b, bits); }
 
     BOOST_XINT_RAWINT& operator=(const BOOST_XINT_RAWINT& set) { length =
         set.length; negative = set.negative; data = set.data; return *this; }
 
- digit_t *digits(size_t resize, realloc::strategy strategy = realloc::copy);
+ digit_t *digits(std::size_t resize, realloc::strategy strategy =
+ realloc::copy);
     const digit_t *digits() const { return data.digits(); }
 
- digit_t get_digit(size_t i) const { return (i < max_length() ? digits()[i] :
- 0); }
- digit_t operator[](size_t i) { return digits()[i]; }
- digit_t operator[](size_t i) const { return get_digit(i); }
- size_t max_length() const { return data.max_length(); }
+ digit_t get_digit(std::size_t i) const { return (i < max_length() ?
+ digits()[i] : 0); }
+ digit_t operator[](std::size_t i) { return digits()[i]; }
+ digit_t operator[](std::size_t i) const { return get_digit(i); }
+ std::size_t max_length() const { return data.max_length(); }
     bool same_storage(const BOOST_XINT_RAWINT n) const { return
         data.same_storage(n.data); }
 
@@ -84,14 +90,14 @@
     bool is_zero() const { return (length == 1 && digits()[0] == 0); }
     bool is_odd() const { return (digits()[0] & 0x01) != 0; }
     bool is_even() const { return (digits()[0] & 0x01) == 0; }
- size_t hex_digits() const { return (log2(*this) + 3) / 4; }
+ std::size_t hex_digits() const { return (log2(*this) + 3) / 4; }
     raw_integer_t abs() const { return raw_integer_t(*this, false); }
     raw_integer_t negate() const { return raw_integer_t(*this, !negative); }
 
     void set(int n) { set_signed(n); }
- void set_signed(boost::intmax_t n, size_t prealloc = 0);
- void set_unsigned(boost::uintmax_t n, bool neg = false, size_t prealloc =
- 0);
+ void set_signed(boost::intmax_t n, std::size_t prealloc = 0);
+ void set_unsigned(boost::uintmax_t n, bool neg = false, std::size_t prealloc
+ = 0);
 
     bool is_nan() const { return data.is_nan(); }
     void make_nan() { data.make_nan(); }
@@ -122,16 +128,18 @@
     raw_integer_t& operator&=(const raw_integer_t n);
     raw_integer_t& operator|=(const raw_integer_t n);
     raw_integer_t& operator^=(const raw_integer_t n);
- raw_integer_t& operator<<=(size_t shift);
- raw_integer_t& operator>>=(size_t shift);
+ raw_integer_t& operator<<=(std::size_t shift);
+ raw_integer_t& operator>>=(std::size_t shift);
 
     template <typename charT>
- void from_string(const charT *str, size_t base = 10);
+ void from_string(const charT *str, std::size_t base = 10);
     template <typename charT>
- void from_string(const charT *str, char **endptr, size_t base = 10);
- template <typename charT>
- void from_string(const std::basic_string<charT>& str, size_t base = 10);
- void from_binary(xint::binary_t b, size_t bits = 0);
+ void from_string(const charT *str, const charT*& endptr, std::size_t base =
+ 10);
+ template <typename charT, typename traitsT, typename allocT>
+ void from_string(const std::basic_string<charT, traitsT, allocT>& str,
+ std::size_t base = 10);
+ void from_binary(xint::binary_t b, std::size_t bits = 0);
 
     template <class GenType>
     static raw_integer_t random_by_size(GenType& gen, bitsize_t bits, bool
@@ -139,7 +147,7 @@
         false);
 
     template <class GenType>
- static raw_integer_t random_prime(GenType& gen, size_t size_in_bits,
+ static raw_integer_t random_prime(GenType& gen, std::size_t size_in_bits,
         callback_t callback = no_callback);
 
     void _swap(BOOST_XINT_RAWINT& i2);
@@ -153,7 +161,9 @@
 };
 
 BOOST_XINT_RAWINT_TPL
-digit_t *BOOST_XINT_RAWINT::digits(size_t resize, realloc::strategy strategy) {
+digit_t *BOOST_XINT_RAWINT::digits(std::size_t resize, realloc::strategy
+ strategy)
+{
     data.resize_and_uniquify(resize, strategy);
     if (resize == 0 || resize > data.max_length()) resize = data.max_length();
     if (strategy != realloc::copy) {
@@ -170,7 +180,7 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-void BOOST_XINT_RAWINT::set_signed(boost::intmax_t n, size_t prealloc) {
+void BOOST_XINT_RAWINT::set_signed(boost::intmax_t n, std::size_t prealloc) {
     if (n >= 0) {
         if (n <= digit_mask) {
             length = 1;
@@ -191,7 +201,7 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-void BOOST_XINT_RAWINT::set_unsigned(boost::uintmax_t n, bool neg, size_t
+void BOOST_XINT_RAWINT::set_unsigned(boost::uintmax_t n, bool neg, std::size_t
     prealloc)
 {
     if (n <= digit_mask) {
@@ -225,7 +235,7 @@
             digit_t *d = data.digits(), *i = d + length - 1;
             if (*i == 0) {
                 do { --i; } while (i > d && *i == 0);
- length = size_t(i - d) + 1;
+ length = std::size_t(i - d) + 1;
                 if (i == d && *i == 0) zero = true;
             }
         } else if (data.digits()[0] == 0) zero = true;

Modified: sandbox/xint/boost/xint/detail/roots.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/roots.hpp (original)
+++ sandbox/xint/boost/xint/detail/roots.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -36,7 +36,7 @@
     // cycling between two numbers that are approximately correct (try
     // sqrt(23)). To deal with that, we multiply everything by an even power of
     // two.
- const size_t extra_bits = 1;
+ const std::size_t extra_bits = 1;
     n <<= (extra_bits * 2);
 
     // Initial guess is half the length of n, in bits

Modified: sandbox/xint/boost/xint/detail/shift.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/shift.hpp (original)
+++ sandbox/xint/boost/xint/detail/shift.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,16 +26,18 @@
 namespace detail {
 
 BOOST_XINT_RAWINT_TPL
-BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator<<=(size_t byBits) {
+BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator<<=(std::size_t byBits) {
     if (byBits == 0) return *this;
 
     // bits/dchunks is distance to move
- size_t dchunks = byBits / bits_per_digit, bits = byBits % bits_per_digit;
- size_t anslen = length + dchunks + (bits != 0 ? 1 : 0);
+ std::size_t dchunks = byBits / bits_per_digit, bits = byBits %
+ bits_per_digit;
+ std::size_t anslen = length + dchunks + (bits != 0 ? 1 : 0);
     digit_t *dstart = digits(anslen);
 
     // nlen is one greater than top source byte to move
- size_t nlen = (std::min)(length, anslen - dchunks - (bits != 0 ? 1 : 0));
+ std::size_t nlen = (std::min)(length, anslen - dchunks - (bits != 0 ? 1 :
+ 0));
 
     if (bits != 0 && dchunks + 1 < anslen) {
         // Handle both bits and dchunks in one pass
@@ -65,11 +67,11 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator>>=(size_t byBits) {
+BOOST_XINT_RAWINT& BOOST_XINT_RAWINT::operator>>=(std::size_t byBits) {
     if (byBits == 0) return *this;
 
- size_t dchunks = byBits / bits_per_digit, bits = byBits % bits_per_digit,
- bits2 = bits_per_digit - bits;
+ std::size_t dchunks = byBits / bits_per_digit, bits = byBits %
+ bits_per_digit, bits2 = bits_per_digit - bits;
 
     digit_t *tgt = digits(0);
     if (dchunks < length) {
@@ -93,12 +95,12 @@
 }
 
 BOOST_XINT_RAWINT_TPL
-BOOST_XINT_RAWINT operator<<(BOOST_XINT_RAWINT n, size_t bits) {
+BOOST_XINT_RAWINT operator<<(BOOST_XINT_RAWINT n, std::size_t bits) {
     return (n <<= bits);
 }
 
 BOOST_XINT_RAWINT_TPL
-BOOST_XINT_RAWINT operator>>(BOOST_XINT_RAWINT n, size_t bits) {
+BOOST_XINT_RAWINT operator>>(BOOST_XINT_RAWINT n, std::size_t bits) {
     return (n >>= bits);
 }
 

Modified: sandbox/xint/boost/xint/detail/streams.hpp
==============================================================================
--- sandbox/xint/boost/xint/detail/streams.hpp (original)
+++ sandbox/xint/boost/xint/detail/streams.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -62,7 +62,7 @@
     int oct=(in.flags() & std::ios::oct) ? 1 : 0;
     int count=hex+dec+oct;
 
- size_t base=autobase;
+ std::size_t base=autobase;
     if (count == 1) {
         if (hex) base = 16;
         else if (oct) base = 8;

Modified: sandbox/xint/boost/xint/integer.hpp
==============================================================================
--- sandbox/xint/boost/xint/integer.hpp (original)
+++ sandbox/xint/boost/xint/integer.hpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -130,11 +130,12 @@
         false);
     integer_t(BOOST_XINT_RV_REF(type) b) { _swap(b); }
     template <typename charT>
- explicit integer_t(const charT *str, size_t base = 10);
+ explicit integer_t(const charT *str, std::size_t base = 10);
     template <typename charT>
- explicit integer_t(const charT *str, charT **endptr, size_t base = 10);
- template <typename charT>
- explicit integer_t(const std::basic_string<charT>& str, size_t base = 10);
+ integer_t(const charT *str, const charT*& endptr, std::size_t base = 10);
+ template <typename charT, typename traitsT, typename allocT>
+ explicit integer_t(const std::basic_string<charT, traitsT, allocT>& str,
+ std::size_t base = 10);
     explicit integer_t(const xint::binary_t b, bitsize_t bits = 0);
     BOOST_XINT_OTHER_TPL explicit integer_t(const BOOST_XINT_OTHER_TYPE& other,
         bool force_thread_safety = false);
@@ -143,8 +144,9 @@
 
     #ifndef BOOST_XINT_DOXYGEN_IGNORE
     //! These are used internally.
- integer_t(const detail::raw_integer_t<BitsType::value, SecureType::value,
- Alloc> c): data(c) { if (Threadsafe == true) data.make_unique(); }
+ explicit integer_t(const detail::raw_integer_t<BitsType::value,
+ SecureType::value, Alloc> c): data(c) { if (Threadsafe == true)
+ data.make_unique(); }
     integer_t(const detail::raw_integer_t<BitsType::value, SecureType::value,
         Alloc> c, bool negative): data(c, negative) { if (Threadsafe == true)
         data.make_unique(); }
@@ -194,7 +196,7 @@
     bool is_even() const;
     bool is_nan() const;
     int sign(bool signed_zero = false) const;
- size_t hex_digits() const;
+ std::size_t hex_digits() const;
     //!@}
 
     typedef base_divide_t<BOOST_XINT_INTEGER_TYPE > divide_t;
@@ -207,8 +209,8 @@
         instead.
     */
     //!@{
- static BOOST_XINT_INTEGER_TYPE pow2(size_t exponent);
- static BOOST_XINT_INTEGER_TYPE factorial(size_t n);
+ static BOOST_XINT_INTEGER_TYPE pow2(std::size_t exponent);
+ static BOOST_XINT_INTEGER_TYPE factorial(std::size_t n);
     static BOOST_XINT_INTEGER_TYPE nan();
     template <class Type> static BOOST_XINT_INTEGER_TYPE random_by_size(Type&
         gen, bitsize_t size_in_bits, bool high_bit_on = false, bool low_bit_on =
@@ -224,8 +226,8 @@
         swap(data, s.data); }
     datatype& _data() { return data; }
     const datatype& _data() const { return data; }
- size_t _get_length() const { return data.length; }
- detail::digit_t _get_digit(size_t i) const { return data[i]; }
+ std::size_t _get_length() const { return data.length; }
+ detail::digit_t _get_digit(std::size_t i) const { return data[i]; }
     void _make_unique() { data.make_unique(); }
     //@}
     #endif
@@ -290,13 +292,13 @@
     }
 }
 
-//! \copydoc integer_t(const std::string&, size_t)
+//! \copydoc integer_t(const std::basic_string<charT, traitsT, allocT>&, std::size_t)
 BOOST_XINT_INTEGER_TPL
 template <typename charT>
-BOOST_XINT_INTEGER_TYPE::integer_t(const charT *str, size_t base) {
+BOOST_XINT_INTEGER_TYPE::integer_t(const charT *str, std::size_t base) {
     if (Nothrow) {
         try {
- std::basic_string<charT> tnan = detail::nan_text<charT>();
+ const std::basic_string<charT>& tnan = detail::nan_text<charT>();
             if (str[0] == tnan[0] && std::basic_string<charT>(str) == tnan) {
                 data.make_nan();
             } else {
@@ -340,17 +342,17 @@
 */
 BOOST_XINT_INTEGER_TPL
 template <typename charT>
-BOOST_XINT_INTEGER_TYPE::integer_t(const charT *str, charT **endptr, size_t
- base)
+BOOST_XINT_INTEGER_TYPE::integer_t(const charT *str, const charT*& endptr,
+ std::size_t base)
 {
     if (Nothrow) {
         try {
- std::basic_string<charT> tnan = detail::nan_text<charT>();
+ const std::basic_string<charT>& tnan = detail::nan_text<charT>();
             if (str[0] == tnan[0]) {
                 std::basic_string<charT> s(str);
                 if (s.substr(0, tnan.length()) == tnan) {
                     data.make_nan();
- *endptr = str + tnan.length();
+ endptr = str + tnan.length();
                     return;
                 }
             }
@@ -388,9 +390,9 @@
 \overload
 */
 BOOST_XINT_INTEGER_TPL
-template <typename charT>
-BOOST_XINT_INTEGER_TYPE::integer_t(const std::basic_string<charT>& str, size_t
- base)
+template <typename charT, typename traitsT, typename allocT>
+BOOST_XINT_INTEGER_TYPE::integer_t(const std::basic_string<charT, traitsT,
+ allocT>& str, std::size_t base)
 {
     if (Nothrow) {
         try {
@@ -1050,7 +1052,7 @@
 result.
 */
 BOOST_XINT_INTEGER_TPL
-BOOST_XINT_INTEGER_TYPE BOOST_XINT_INTEGER_TYPE::pow2(size_t exponent) {
+BOOST_XINT_INTEGER_TYPE BOOST_XINT_INTEGER_TYPE::pow2(std::size_t exponent) {
     if (Nothrow) {
         try {
             BOOST_XINT_INTEGER_TYPE r;
@@ -1082,7 +1084,7 @@
 the easiest way to exhaust the system's memory.
 */
 BOOST_XINT_INTEGER_TPL
-BOOST_XINT_INTEGER_TYPE BOOST_XINT_INTEGER_TYPE::factorial(size_t n) {
+BOOST_XINT_INTEGER_TYPE BOOST_XINT_INTEGER_TYPE::factorial(std::size_t n) {
     if (Nothrow) {
         try {
             BOOST_XINT_INTEGER_TYPE r;
@@ -1154,14 +1156,14 @@
 {
     if (Nothrow) {
         try {
- return datatype::random_by_size(gen, size_in_bits, high_bit_on,
- low_bit_on, can_be_negative);
+ return BOOST_XINT_INTEGER_TYPE(datatype::random_by_size(gen,
+ size_in_bits, high_bit_on, low_bit_on, can_be_negative));
         } catch (std::exception&) {
             return nan();
         }
     } else {
- return datatype::random_by_size(gen, size_in_bits, high_bit_on,
- low_bit_on, can_be_negative);
+ return BOOST_XINT_INTEGER_TYPE(datatype::random_by_size(gen,
+ size_in_bits, high_bit_on, low_bit_on, can_be_negative));
     }
 }
 
@@ -1272,8 +1274,9 @@
         try {
             typename BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
                 detail::divide(dividend._data(), divisor._data());
- typename BOOST_XINT_INTEGER_TYPE::divide_t r(rr.quotient,
- rr.remainder);
+ typename BOOST_XINT_INTEGER_TYPE::divide_t
+ r(BOOST_XINT_INTEGER_TYPE(rr.quotient),
+ BOOST_XINT_INTEGER_TYPE(rr.remainder));
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return typename BOOST_XINT_INTEGER_TYPE::divide_t(
@@ -1282,7 +1285,9 @@
     } else {
         typename BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
             detail::divide(dividend._data(), divisor._data());
- typename BOOST_XINT_INTEGER_TYPE::divide_t r(rr.quotient, rr.remainder);
+ typename BOOST_XINT_INTEGER_TYPE::divide_t
+ r(BOOST_XINT_INTEGER_TYPE(rr.quotient),
+ BOOST_XINT_INTEGER_TYPE(rr.remainder));
         return BOOST_XINT_MOVE(r);
     }
 }
@@ -1311,14 +1316,14 @@
     if (BOOST_XINT_INTEGER_TYPE::Nothrow) {
         if (n.is_nan()) return n;
         try {
- BOOST_XINT_INTEGER_TYPE r = detail::square(n._data());
+ BOOST_XINT_INTEGER_TYPE r(detail::square(n._data()));
             if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return BOOST_XINT_INTEGER_TYPE::nan();
         }
     } else {
- BOOST_XINT_INTEGER_TYPE r = detail::square(n._data());
+ BOOST_XINT_INTEGER_TYPE r(detail::square(n._data()));
         if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
         return BOOST_XINT_MOVE(r);
     }
@@ -1371,14 +1376,14 @@
     if (BOOST_XINT_INTEGER_TYPE::Nothrow) {
         if (n.is_nan()) return n;
         try {
- BOOST_XINT_INTEGER_TYPE r = square_root(n._data());
+ BOOST_XINT_INTEGER_TYPE r(square_root(n._data()));
             if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return BOOST_XINT_INTEGER_TYPE::nan();
         }
     } else {
- BOOST_XINT_INTEGER_TYPE r = square_root(n._data());
+ BOOST_XINT_INTEGER_TYPE r(square_root(n._data()));
         if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
         return BOOST_XINT_MOVE(r);
     }
@@ -1422,6 +1427,8 @@
 
 - Complexity: O(n<sup>2</sup>)
 
+\tparam charT The type of string to create.
+
 \param[in] n The %integer to convert.
 \param[in] base The base, between 2 and 36 inclusive, to convert it to. Defaults
 to base 10.
@@ -1438,57 +1445,40 @@
 to a stream, but it's more flexible because you can specify any base between 2
 and 36. (Streams only allow base-8, base-10, or base-16.)
 */
-BOOST_XINT_INTEGER_TPL
-std::string to_string(const BOOST_XINT_INTEGER_TYPE n, size_t base = 10, bool
- uppercase = false)
+template<typename charT, class A0, class A1, class A2, class A3, class A4>
+std::basic_string<charT> to_stringtype(const BOOST_XINT_INTEGER_TYPE n,
+ std::size_t base = 10, bool uppercase = false)
 {
     if (BOOST_XINT_INTEGER_TYPE::Nothrow) {
- if (n.is_nan()) return detail::nan_text<char>();
+ if (n.is_nan()) return detail::nan_text<charT>();
         try {
- return to_string<char>(n._data(), base, uppercase);
+ return detail::to_string<charT>(n._data(), base, uppercase);
         } catch (std::exception&) {
- return std::string();
+ return std::basic_string<charT>();
         }
     } else {
- return to_string<char>(n._data(), base, uppercase);
+ return detail::to_string<charT>(n._data(), base, uppercase);
     }
 }
 
-/*! \brief Creates a wide-character string representation of the specified
- %integer.
-
-- Complexity: O(n<sup>2</sup>)
-
-\param[in] n The %integer to convert.
-\param[in] base The base, between 2 and 36 inclusive, to convert it to. Defaults
-to base 10.
-\param[in] uppercase Whether to make alphabetic characters (for bases greater
-than ten) uppercase or not. Defaults to \c false.
-
-\returns The string value of \c n. The nothrow<true> version returns the string
-"#NaN#" if \c n is a Not-a-Number, and an empty string instead of throwing.
-
-\exception exceptions::invalid_base if base is less than two or greater than 36.
+/*! \brief A shorthand function that calls \ref
+ integer_t::to_stringtype() "to_stringtype<char>".
+*/
+BOOST_XINT_INTEGER_TPL
+std::string to_string(const BOOST_XINT_INTEGER_TYPE n, std::size_t base = 10,
+ bool uppercase = false)
+{
+ return to_stringtype<char>(n, base, uppercase);
+}
 
-\remarks
-This is the function that's called when you ask the library to write an %integer
-to a stream, but it's more flexible because you can specify any base between 2
-and 36. (Streams only allow base-8, base-10, or base-16.)
+/*! \brief A shorthand function that calls \ref
+ integer_t::to_stringtype() "to_stringtype<wchar_t>".
 */
 BOOST_XINT_INTEGER_TPL
-std::wstring to_wstring(const BOOST_XINT_INTEGER_TYPE n, size_t base = 10, bool
- uppercase = false)
+std::wstring to_wstring(const BOOST_XINT_INTEGER_TYPE n, std::size_t base = 10,
+ bool uppercase = false)
 {
- if (BOOST_XINT_INTEGER_TYPE::Nothrow) {
- if (n.is_nan()) return detail::nan_text<wchar_t>();
- try {
- return to_string<wchar_t>(n._data(), base, uppercase);
- } catch (std::exception&) {
- return std::wstring();
- }
- } else {
- return to_string<wchar_t>(n._data(), base, uppercase);
- }
+ return to_stringtype<wchar_t>(n, base, uppercase);
 }
 
 /*! \brief Creates a binary representation of an %integer.
@@ -1699,16 +1689,16 @@
         if (n.is_nan() || by.is_nan() || modulus.is_nan()) return
             BOOST_XINT_INTEGER_TYPE::nan();
         try {
- BOOST_XINT_INTEGER_TYPE r = mulmod(n._data(), by._data(),
- modulus._data());
+ BOOST_XINT_INTEGER_TYPE r(mulmod(n._data(), by._data(),
+ modulus._data()));
             if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return BOOST_XINT_INTEGER_TYPE::nan();
         }
     } else {
- BOOST_XINT_INTEGER_TYPE r = mulmod(n._data(), by._data(),
- modulus._data());
+ BOOST_XINT_INTEGER_TYPE r(mulmod(n._data(), by._data(),
+ modulus._data()));
         if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
         return BOOST_XINT_MOVE(r);
     }
@@ -1780,16 +1770,16 @@
         if (n.is_nan() || exponent.is_nan() || modulus.is_nan()) return
             BOOST_XINT_INTEGER_TYPE::nan();
         try {
- BOOST_XINT_INTEGER_TYPE r = powmod(n._data(), exponent._data(),
- modulus._data(), no_monty);
+ BOOST_XINT_INTEGER_TYPE r(powmod(n._data(), exponent._data(),
+ modulus._data(), no_monty));
             if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return BOOST_XINT_INTEGER_TYPE::nan();
         }
     } else {
- BOOST_XINT_INTEGER_TYPE r = powmod(n._data(), exponent._data(),
- modulus._data(), no_monty);
+ BOOST_XINT_INTEGER_TYPE r(powmod(n._data(), exponent._data(),
+ modulus._data(), no_monty));
         if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
         return BOOST_XINT_MOVE(r);
     }
@@ -1815,14 +1805,14 @@
         if (n.is_nan() || modulus.is_nan()) return
             BOOST_XINT_INTEGER_TYPE::nan();
         try {
- BOOST_XINT_INTEGER_TYPE r = invmod(n._data(), modulus._data());
+ BOOST_XINT_INTEGER_TYPE r(invmod(n._data(), modulus._data()));
             if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
             return BOOST_XINT_MOVE(r);
         } catch (std::exception&) {
             return BOOST_XINT_INTEGER_TYPE::nan();
         }
     } else {
- BOOST_XINT_INTEGER_TYPE r = invmod(n._data(), modulus._data());
+ BOOST_XINT_INTEGER_TYPE r(invmod(n._data(), modulus._data()));
         if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique();
         return BOOST_XINT_MOVE(r);
     }
@@ -2434,19 +2424,14 @@
     n)
 {
     if (BOOST_XINT_INTEGER_TYPE::Nothrow) {
- std::basic_string<charT> tnan = detail::nan_text<charT>();
+ const std::basic_string<charT>& tnan = detail::nan_text<charT>();
         charT nextchar = charT(in.peek());
         if (nextchar == tnan[0]) {
             // Must be either #NaN# or an error
             std::vector<charT> buffer;
 
- // These are efficient and safe, but MSVC complains about them anyway.
- //std::streamsize size = in.readsome(buffer, 5);
- //buffer[size]=0;
-
- // Replacing them with these.
             charT p = 0;
- for (size_t i = 0; i < tnan.length(); ++i) {
+ for (std::size_t i = 0; i < tnan.length(); ++i) {
                 in >> p;
                 buffer.push_back(p);
             }

Modified: sandbox/xint/libs/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/libs/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/libs/xint/doc/acknowledgements.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -53,7 +53,7 @@
 <li>John Bytheway, for an idea for simplifying the template documentation greatly.</li>
 <li>David Abrahams, for contributing a thought on how to use Boost.Parameter effectively with multiple <code>bool</code> parameters.</li>
 <li>Christopher Jefferson, for sharing the best way to support <code>BOOST_NO_EXCEPTIONS</code>.</li>
-<li>Adam Merz, for suggesting wstring/wchar_t support.</li>
+<li>Adam Merz, for his advice on proper wstring/wchar_t support.</li>
 </ul>
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
@@ -71,7 +71,7 @@
 </ul>
 <p>If I've forgotten anyone, please let me know and I'll correct the oversight. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/acknowledgements_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/acknowledgements_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/acknowledgements_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/acknowledgements.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/addsubtract_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/addsubtract_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/addsubtract_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="addsubtract_8hpp_source.html">addsubtract.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/addsubtract_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/addsubtract_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/addsubtract_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -73,7 +73,7 @@
 <a name="l00055"></a>00055 }
 <a name="l00056"></a>00056 }
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 n.length = (std::max)(n.length, <span class="keywordtype">size_t</span>(t - ndig));
+<a name="l00058"></a>00058 n.length = (std::max)(n.length, std::size_t(t - ndig));
 <a name="l00059"></a>00059 n.trim();
 <a name="l00060"></a>00060 }
 <a name="l00061"></a>00061
@@ -100,7 +100,7 @@
 <a name="l00082"></a>00082 }
 <a name="l00083"></a>00083 }
 <a name="l00084"></a>00084
-<a name="l00085"></a>00085 n.length = size_t(t - ndig);
+<a name="l00085"></a>00085 n.length = std::size_t(t - ndig);
 <a name="l00086"></a>00086 n.negative = !n.negative;
 <a name="l00087"></a>00087 } <span class="keywordflow">else</span> {
 <a name="l00088"></a>00088 <span class="keywordflow">while</span> (p != pe) {
@@ -120,7 +120,7 @@
 <a name="l00102"></a>00102 <span class="keywordflow">else</span> { *t++ -= 1; borrow = 0; <span class="keywordflow">break</span>; }
 <a name="l00103"></a>00103 }
 <a name="l00104"></a>00104 }
-<a name="l00105"></a>00105 n.length = (std::max)(n.length, <span class="keywordtype">size_t</span>(t - ndig));
+<a name="l00105"></a>00105 n.length = (std::max)(n.length, std::size_t(t - ndig));
 <a name="l00106"></a>00106 }
 <a name="l00107"></a>00107
 <a name="l00108"></a>00108 assert(borrow == 0);
@@ -134,7 +134,7 @@
 <a name="l00116"></a>00116 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!absolute_value &amp;&amp; n.negative) {
 <a name="l00117"></a>00117 sub_decrement(n, <span class="keyword">true</span>);
 <a name="l00118"></a>00118 } <span class="keywordflow">else</span> {
-<a name="l00119"></a>00119 <span class="keywordtype">size_t</span> overflow = (n.digits()[n.length - 1] == digit_mask ? 1 : 0);
+<a name="l00119"></a>00119 std::size_t overflow = (n.digits()[n.length - 1] == digit_mask ? 1 : 0);
 <a name="l00120"></a>00120 digit_t *d = n.digits(n.length + overflow, realloc::extend), *p = d, *pe
 <a name="l00121"></a>00121 = p + n.length;
 <a name="l00122"></a>00122 <span class="keywordflow">while</span> (p &lt; pe) {
@@ -242,7 +242,7 @@
 <a name="l00225"></a>00225 <span class="comment"></span>
 <a name="l00226"></a>00226 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_ADDSUBTRACT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/andorxor_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/andorxor_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/andorxor_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="andorxor_8hpp_source.html">andorxor.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/andorxor_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/andorxor_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/andorxor_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -45,7 +45,7 @@
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 BOOST_XINT_RAWINT_TPL
 <a name="l00029"></a>00029 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator&amp;=(<span class="keyword">const</span> BOOST_XINT_RAWINT n) {
-<a name="l00030"></a>00030 <span class="keywordtype">size_t</span> len = (std::min)(length, n.length);
+<a name="l00030"></a>00030 std::size_t len = (std::min)(length, n.length);
 <a name="l00031"></a>00031 <span class="keyword">const</span> digit_t *ns = n.digits(), *nse = ns + len;
 <a name="l00032"></a>00032 digit_t *t = digits(len, realloc::extend);
 <a name="l00033"></a>00033 <span class="keywordflow">while</span> (ns != nse) *t++ &amp;= *ns++;
@@ -56,7 +56,7 @@
 <a name="l00038"></a>00038
 <a name="l00039"></a>00039 BOOST_XINT_RAWINT_TPL
 <a name="l00040"></a>00040 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator|=(<span class="keyword">const</span> BOOST_XINT_RAWINT n) {
-<a name="l00041"></a>00041 <span class="keywordtype">size_t</span> len = (std::max)(length, n.length);
+<a name="l00041"></a>00041 std::size_t len = (std::max)(length, n.length);
 <a name="l00042"></a>00042 <span class="keywordflow">if</span> (length &gt; n.length) {
 <a name="l00043"></a>00043 <span class="keyword">const</span> digit_t *ns = n.digits(), *nse = ns + n.length;
 <a name="l00044"></a>00044 digit_t *t = digits(len, realloc::extend);
@@ -74,7 +74,7 @@
 <a name="l00056"></a>00056
 <a name="l00057"></a>00057 BOOST_XINT_RAWINT_TPL
 <a name="l00058"></a>00058 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator^=(<span class="keyword">const</span> BOOST_XINT_RAWINT n) {
-<a name="l00059"></a>00059 <span class="keywordtype">size_t</span> len = (std::max)(length, n.length);
+<a name="l00059"></a>00059 std::size_t len = (std::max)(length, n.length);
 <a name="l00060"></a>00060 <span class="keywordflow">if</span> (length &gt; n.length) {
 <a name="l00061"></a>00061 <span class="keyword">const</span> digit_t *ns = n.digits(), *nse = ns + n.length;
 <a name="l00062"></a>00062 digit_t *t = digits(len, realloc::extend);
@@ -117,7 +117,7 @@
 <a name="l00100"></a>00100 <span class="comment"></span>
 <a name="l00101"></a>00101 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_ANDORXOR_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/annotated.html
==============================================================================
--- sandbox/xint/libs/xint/doc/annotated.html (original)
+++ sandbox/xint/libs/xint/doc/annotated.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -51,7 +51,7 @@
   <tr><td class="indexkey"><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -57,13 +57,13 @@
 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; unsigned <br class="typebreak"/>
 char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint::binary_t</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The format for the binary representations of integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">boost::xint::bitsize_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This makes it easier to tell when an item is measured in bits. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">boost::xint::bitsize_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This makes it easier to tell when an item is measured in bits. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint::callback_t</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function takes no parameters and returns a bool. <br/></td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A value that can be used for the 'base' parameter of the string-to-integer constructor functions. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A value that can be used for the 'base' parameter of the string-to-integer constructor functions. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const callback_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint::no_callback</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An empty callback_t, used as a default parameter for some functions. <br/></td></tr>
 </table>
@@ -179,7 +179,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/basic__types__and__includes_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 <a name="l00031"></a>00031 <span class="preprocessor">#include &lt;vector&gt;</span>
 <a name="l00032"></a>00032 <span class="preprocessor">#include &lt;queue&gt;</span>
 <a name="l00033"></a>00033 <span class="preprocessor">#include &lt;limits&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for size_t</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">// for std::size_t</span>
 <a name="l00035"></a>00035 <span class="preprocessor">#include &lt;cassert&gt;</span>
 <a name="l00036"></a>00036 <span class="preprocessor">#include &lt;sstream&gt;</span>
 <a name="l00037"></a>00037 <span class="preprocessor">#include &lt;fstream&gt;</span>
@@ -92,9 +92,9 @@
 <a name="l00075"></a>00075
 <a name="l00077"></a><a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">00077</a> <span class="keyword">typedef</span> std::vector&lt;unsigned char&gt; <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">binary_t</a>;
 <a name="l00078"></a>00078
-<a name="l00081"></a><a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">00081</a> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)();
+<a name="l00081"></a><a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">00081</a> <span class="keyword">const</span> std::size_t <a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)();
 <a name="l00082"></a>00082
-<a name="l00084"></a><a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">00084</a> <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a>;
+<a name="l00084"></a><a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">00084</a> <span class="keyword">typedef</span> std::size_t <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a>;
 <a name="l00085"></a>00085
 <a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
 <a name="l00088"></a><a class="code" href="classboost_1_1xint_1_1base__divide__t.html">00088</a> <span class="keyword">class </span><a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t</a> {
@@ -127,46 +127,47 @@
 <a name="l00126"></a>00126 <span class="keyword">typedef</span> boost::uint_t&lt;std::numeric_limits&lt;doubledigit_t&gt;::digits / 2&gt;::fast
 <a name="l00127"></a>00127 digit_t;
 <a name="l00128"></a>00128
-<a name="l00131"></a>00131 <span class="keyword">const</span> <span class="keywordtype">size_t</span> minimum_digits = 1;
-<a name="l00132"></a>00132 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bits_per_digit = std::numeric_limits&lt;digit_t&gt;::digits;
-<a name="l00133"></a>00133 <span class="keyword">const</span> <span class="keywordtype">size_t</span> digits_in_uintmax =
-<a name="l00134"></a>00134 (std::numeric_limits&lt;boost::uintmax_t&gt;::digits + bits_per_digit - 1) /
-<a name="l00135"></a>00135 bits_per_digit;
-<a name="l00136"></a>00136 <span class="keyword">const</span> digit_t digit_hibit = (digit_t(1) &lt;&lt; (bits_per_digit-1));
-<a name="l00137"></a>00137 <span class="keyword">const</span> doubledigit_t doubledigit_hibit = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1));
-<a name="l00138"></a>00138 <span class="keyword">const</span> doubledigit_t digit_overflowbit = (doubledigit_t(1) &lt;&lt; bits_per_digit);
-<a name="l00139"></a>00139 <span class="keyword">const</span> digit_t digit_mask = digit_t(digit_overflowbit-1);
-<a name="l00141"></a>00141
-<a name="l00143"></a>00143
-<a name="l00146"></a>00146 <span class="keyword">struct </span>magnitude_t {
-<a name="l00147"></a>00147 <span class="keyword">private</span>:
-<a name="l00148"></a>00148 <span class="keywordtype">size_t</span> copy_count;
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keyword">public</span>:
-<a name="l00151"></a>00151 <span class="keyword">const</span> <span class="keywordtype">bool</span> readonly;
-<a name="l00152"></a>00152 <span class="keyword">const</span> <span class="keywordtype">size_t</span> max_length;
-<a name="l00153"></a>00153 digit_t digits[minimum_digits]; <span class="comment">// Must be last data item, see &quot;struct hack&quot;</span>
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 magnitude_t(<span class="keywordtype">size_t</span> max_len = minimum_digits, <span class="keywordtype">bool</span> ro = <span class="keyword">false</span>):
-<a name="l00156"></a>00156 copy_count(0), readonly(ro), max_length(max_len) { }
-<a name="l00157"></a>00157 magnitude_t(<span class="keywordtype">size_t</span> max_len, <span class="keywordtype">bool</span> ro, digit_t init): copy_count(0),
-<a name="l00158"></a>00158 readonly(ro), max_length(max_len) { digits[0] = init; }
-<a name="l00159"></a>00159 <span class="keywordtype">size_t</span> copies()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> copy_count; }
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordtype">void</span> inc() { ++copy_count; }
-<a name="l00162"></a>00162 <span class="keywordtype">bool</span> dec() { <span class="keywordflow">return</span> (--copy_count == 0); }
-<a name="l00163"></a>00163 };
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 <span class="keyword">inline</span> <span class="keywordtype">size_t</span> bits_to_digits(<span class="keywordtype">size_t</span> bits) { <span class="keywordflow">return</span> (bits + bits_per_digit - 1) /
-<a name="l00166"></a>00166 bits_per_digit; }
-<a name="l00167"></a>00167
-<a name="l00169"></a>00169 } <span class="comment">// namespace detail</span>
-<a name="l00170"></a>00170 } <span class="comment">// namespace xint</span>
-<a name="l00171"></a>00171 } <span class="comment">// namespace boost</span>
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_BASIC_TYPES_HPP</span>
+<a name="l00131"></a>00131 <span class="keyword">const</span> std::size_t minimum_digits = 1;
+<a name="l00132"></a>00132 <span class="keyword">const</span> std::size_t bits_per_digit =
+<a name="l00133"></a>00133 std::numeric_limits&lt;digit_t&gt;::digits;
+<a name="l00134"></a>00134 <span class="keyword">const</span> std::size_t digits_in_uintmax =
+<a name="l00135"></a>00135 (std::numeric_limits&lt;boost::uintmax_t&gt;::digits + bits_per_digit - 1) /
+<a name="l00136"></a>00136 bits_per_digit;
+<a name="l00137"></a>00137 <span class="keyword">const</span> digit_t digit_hibit = (digit_t(1) &lt;&lt; (bits_per_digit-1));
+<a name="l00138"></a>00138 <span class="keyword">const</span> doubledigit_t doubledigit_hibit = (doubledigit_t(1) &lt;&lt; (bits_per_digit*2-1));
+<a name="l00139"></a>00139 <span class="keyword">const</span> doubledigit_t digit_overflowbit = (doubledigit_t(1) &lt;&lt; bits_per_digit);
+<a name="l00140"></a>00140 <span class="keyword">const</span> digit_t digit_mask = digit_t(digit_overflowbit-1);
+<a name="l00142"></a>00142
+<a name="l00144"></a>00144
+<a name="l00147"></a>00147 <span class="keyword">struct </span>magnitude_t {
+<a name="l00148"></a>00148 <span class="keyword">private</span>:
+<a name="l00149"></a>00149 std::size_t copy_count;
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keyword">public</span>:
+<a name="l00152"></a>00152 <span class="keyword">const</span> <span class="keywordtype">bool</span> readonly;
+<a name="l00153"></a>00153 <span class="keyword">const</span> std::size_t max_length;
+<a name="l00154"></a>00154 digit_t digits[minimum_digits]; <span class="comment">// Must be last data item, see &quot;struct hack&quot;</span>
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 magnitude_t(std::size_t max_len = minimum_digits, <span class="keywordtype">bool</span> ro = <span class="keyword">false</span>):
+<a name="l00157"></a>00157 copy_count(0), readonly(ro), max_length(max_len) { }
+<a name="l00158"></a>00158 magnitude_t(std::size_t max_len, <span class="keywordtype">bool</span> ro, digit_t init): copy_count(0),
+<a name="l00159"></a>00159 readonly(ro), max_length(max_len) { digits[0] = init; }
+<a name="l00160"></a>00160 std::size_t copies()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> copy_count; }
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keywordtype">void</span> inc() { ++copy_count; }
+<a name="l00163"></a>00163 <span class="keywordtype">bool</span> dec() { <span class="keywordflow">return</span> (--copy_count == 0); }
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keyword">inline</span> std::size_t bits_to_digits(std::size_t bits) { <span class="keywordflow">return</span> (bits +
+<a name="l00167"></a>00167 bits_per_digit - 1) / bits_per_digit; }
+<a name="l00168"></a>00168
+<a name="l00170"></a>00170 } <span class="comment">// namespace detail</span>
+<a name="l00171"></a>00171 } <span class="comment">// namespace xint</span>
+<a name="l00172"></a>00172 } <span class="comment">// namespace boost</span>
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_BASIC_TYPES_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/bitfunctions_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/bitfunctions_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/bitfunctions_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="bitfunctions_8hpp_source.html">bitfunctions.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/bitfunctions_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/bitfunctions_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/bitfunctions_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -44,8 +44,8 @@
 <a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 BOOST_XINT_RAWINT_TPL
-<a name="l00029"></a>00029 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> bit_index) {
-<a name="l00030"></a>00030 <span class="keywordtype">size_t</span> index = bit_index / bits_per_digit;
+<a name="l00029"></a>00029 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t bit_index) {
+<a name="l00030"></a>00030 std::size_t index = bit_index / bits_per_digit;
 <a name="l00031"></a>00031 <span class="keywordflow">if</span> (index &lt; n.length) {
 <a name="l00032"></a>00032 digit_t mask = (digit_t(1) &lt;&lt; (bit_index % bits_per_digit));
 <a name="l00033"></a>00033 <span class="keywordflow">return</span> ((n[index] &amp; mask) != 0);
@@ -53,9 +53,9 @@
 <a name="l00035"></a>00035 }
 <a name="l00036"></a>00036
 <a name="l00037"></a>00037 BOOST_XINT_RAWINT_TPL
-<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(BOOST_XINT_RAWINT&amp; n, <span class="keywordtype">size_t</span> bit_index) {
+<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(BOOST_XINT_RAWINT&amp; n, std::size_t bit_index) {
 <a name="l00039"></a>00039 <span class="keywordflow">if</span> (Bits != 0 &amp;&amp; bit_index &gt;= (n.max_length() * bits_per_digit)) <span class="keywordflow">return</span>;
-<a name="l00040"></a>00040 <span class="keywordtype">size_t</span> index = (bit_index / bits_per_digit);
+<a name="l00040"></a>00040 std::size_t index = (bit_index / bits_per_digit);
 <a name="l00041"></a>00041 digit_t mask = (digit_t(1) &lt;&lt; (bit_index % bits_per_digit));
 <a name="l00042"></a>00042 n.digits(index + 1, realloc::extend)[index] |= mask;
 <a name="l00043"></a>00043 <span class="keywordflow">if</span> (n.length &lt; index + 1) n.length = index + 1;
@@ -63,8 +63,8 @@
 <a name="l00045"></a>00045 }
 <a name="l00046"></a>00046
 <a name="l00047"></a>00047 BOOST_XINT_RAWINT_TPL
-<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(BOOST_XINT_RAWINT&amp; n, <span class="keywordtype">size_t</span> bit_index) {
-<a name="l00049"></a>00049 <span class="keywordtype">size_t</span> index = (bit_index / bits_per_digit);
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(BOOST_XINT_RAWINT&amp; n, std::size_t bit_index) {
+<a name="l00049"></a>00049 std::size_t index = (bit_index / bits_per_digit);
 <a name="l00050"></a>00050 <span class="keywordflow">if</span> (index &gt;= n.length) <span class="keywordflow">return</span>; <span class="comment">// Bit can&#39;t be set, no need to clear it.</span>
 <a name="l00051"></a>00051 digit_t mask = (digit_t(1) &lt;&lt; (bit_index % bits_per_digit));
 <a name="l00052"></a>00052 n.digits(0)[index] &amp;= ~mask;
@@ -72,12 +72,12 @@
 <a name="l00054"></a>00054 }
 <a name="l00055"></a>00055
 <a name="l00056"></a>00056 BOOST_XINT_RAWINT_TPL
-<a name="l00057"></a>00057 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00057"></a>00057 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t valueIfZero) {
 <a name="l00058"></a>00058 <span class="keywordflow">if</span> (n.is_zero()) <span class="keywordflow">return</span> valueIfZero;
 <a name="l00059"></a>00059
 <a name="l00060"></a>00060 <span class="keyword">const</span> digit_t *d = n.digits(), *p = d, *pe = p + n.length;
 <a name="l00061"></a>00061 <span class="keywordflow">while</span> (p != pe &amp;&amp; *p == 0) ++p;
-<a name="l00062"></a>00062 <span class="keywordtype">size_t</span> r = (bits_per_digit * (p - d));
+<a name="l00062"></a>00062 std::size_t r = (bits_per_digit * (p - d));
 <a name="l00063"></a>00063
 <a name="l00064"></a>00064 digit_t digit = *p;
 <a name="l00065"></a>00065 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) { digit &gt;&gt;= 1; ++r; }
@@ -86,7 +86,7 @@
 <a name="l00068"></a>00068 }
 <a name="l00069"></a>00069
 <a name="l00070"></a>00070 BOOST_XINT_RAWINT_TPL
-<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t valueIfZero) {
 <a name="l00072"></a>00072 <span class="keywordflow">if</span> (n.is_zero()) <span class="keywordflow">return</span> valueIfZero;
 <a name="l00073"></a>00073 <span class="keywordflow">return</span> ((n.length - 1) * bits_per_digit) + <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n[n.length - 1]);
 <a name="l00074"></a>00074 }
@@ -114,7 +114,7 @@
 <a name="l00097"></a>00097 <span class="comment"></span>
 <a name="l00098"></a>00098 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_BITFUNCTIONS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/bitqueue_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/bitqueue_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/bitqueue_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="bitqueue_8hpp_source.html">bitqueue.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/bitqueue_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/bitqueue_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/bitqueue_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -46,66 +46,67 @@
 <a name="l00029"></a>00029 <span class="keyword">class </span>bitqueue_t {
 <a name="l00030"></a>00030 <span class="keyword">public</span>:
 <a name="l00031"></a>00031 bitqueue_t(): bits_pending(0) { }
-<a name="l00032"></a>00032 <span class="keywordtype">void</span> push(doubledigit_t bits, <span class="keywordtype">size_t</span> count);
-<a name="l00033"></a>00033 doubledigit_t pop(<span class="keywordtype">size_t</span> requestedbits);
+<a name="l00032"></a>00032 <span class="keywordtype">void</span> push(doubledigit_t bits, std::size_t count);
+<a name="l00033"></a>00033 doubledigit_t pop(std::size_t requestedbits);
 <a name="l00034"></a>00034 <span class="keywordtype">bool</span> empty()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pending.empty(); }
-<a name="l00035"></a>00035 <span class="keywordtype">size_t</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits_pending; }
+<a name="l00035"></a>00035 std::size_t size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits_pending; }
 <a name="l00036"></a>00036
 <a name="l00037"></a>00037 <span class="keyword">private</span>:
-<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> ddbits = std::numeric_limits&lt;doubledigit_t&gt;::digits;
-<a name="l00039"></a>00039 <span class="keyword">typedef</span> std::pair&lt;doubledigit_t, size_t&gt; indata_t;
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> std::queue&lt;indata_t&gt; inqueue_t;
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="keywordtype">size_t</span> bits_pending;
-<a name="l00043"></a>00043 inqueue_t pending;
-<a name="l00044"></a>00044 };
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">inline</span> <span class="keywordtype">void</span> bitqueue_t::push(doubledigit_t bits, <span class="keywordtype">size_t</span> count) {
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (count &lt; ddbits) {
-<a name="l00048"></a>00048 doubledigit_t mask = (doubledigit_t(1) &lt;&lt; count) - 1;
-<a name="l00049"></a>00049 bits &amp;= mask;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keywordflow">if</span> (pending.empty()) {
-<a name="l00053"></a>00053 pending.push(std::make_pair(bits, count));
-<a name="l00054"></a>00054 } <span class="keywordflow">else</span> {
-<a name="l00055"></a>00055 indata_t &amp;n(pending.back());
-<a name="l00056"></a>00056 <span class="keywordflow">if</span> (n.second + count &lt;= ddbits) {
-<a name="l00057"></a>00057 n.first |= bits &lt;&lt; n.second;
-<a name="l00058"></a>00058 n.second += count;
-<a name="l00059"></a>00059 } <span class="keywordflow">else</span> {
-<a name="l00060"></a>00060 pending.push(std::make_pair(bits, count));
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 bits_pending += count;
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="keyword">inline</span> doubledigit_t bitqueue_t::pop(<span class="keywordtype">size_t</span> requestedbits) {
-<a name="l00067"></a>00067 doubledigit_t buffer = 0;
-<a name="l00068"></a>00068 <span class="keywordtype">size_t</span> bits_in_buffer = 0;
-<a name="l00069"></a>00069 <span class="keywordflow">while</span> (bits_in_buffer &lt; requestedbits &amp;&amp; !pending.empty()) {
-<a name="l00070"></a>00070 indata_t &amp;n(pending.front());
-<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> maxbits = requestedbits - bits_in_buffer, actualbits =
-<a name="l00072"></a>00072 (std::min)(n.second, maxbits);
-<a name="l00073"></a>00073 buffer |= (n.first &lt;&lt; bits_in_buffer);
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 n.first &gt;&gt;= actualbits;
-<a name="l00076"></a>00076 n.second -= actualbits;
-<a name="l00077"></a>00077 bits_in_buffer += actualbits;
-<a name="l00078"></a>00078 bits_pending -= actualbits;
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keywordflow">if</span> (n.second == 0) pending.pop();
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082 <span class="keywordflow">return</span> (buffer &amp; ((doubledigit_t(1) &lt;&lt; requestedbits) - 1));
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 } <span class="comment">// namespace detail</span>
-<a name="l00086"></a>00086 } <span class="comment">// namespace xint</span>
-<a name="l00087"></a>00087 } <span class="comment">// namespace boost</span>
-<a name="l00089"></a>00089 <span class="comment"></span>
-<a name="l00090"></a>00090 <span class="preprocessor">#endif // BOOST_XINT_INCLUDED_BITQUEUET_HPP</span>
+<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t ddbits =
+<a name="l00039"></a>00039 std::numeric_limits&lt;doubledigit_t&gt;::digits;
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> std::pair&lt;doubledigit_t, std::size_t&gt; indata_t;
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> std::queue&lt;indata_t&gt; inqueue_t;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 std::size_t bits_pending;
+<a name="l00044"></a>00044 inqueue_t pending;
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">inline</span> <span class="keywordtype">void</span> bitqueue_t::push(doubledigit_t bits, std::size_t count) {
+<a name="l00048"></a>00048 <span class="keywordflow">if</span> (count &lt; ddbits) {
+<a name="l00049"></a>00049 doubledigit_t mask = (doubledigit_t(1) &lt;&lt; count) - 1;
+<a name="l00050"></a>00050 bits &amp;= mask;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordflow">if</span> (pending.empty()) {
+<a name="l00054"></a>00054 pending.push(std::make_pair(bits, count));
+<a name="l00055"></a>00055 } <span class="keywordflow">else</span> {
+<a name="l00056"></a>00056 indata_t &amp;n(pending.back());
+<a name="l00057"></a>00057 <span class="keywordflow">if</span> (n.second + count &lt;= ddbits) {
+<a name="l00058"></a>00058 n.first |= bits &lt;&lt; n.second;
+<a name="l00059"></a>00059 n.second += count;
+<a name="l00060"></a>00060 } <span class="keywordflow">else</span> {
+<a name="l00061"></a>00061 pending.push(std::make_pair(bits, count));
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 bits_pending += count;
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">inline</span> doubledigit_t bitqueue_t::pop(std::size_t requestedbits) {
+<a name="l00068"></a>00068 doubledigit_t buffer = 0;
+<a name="l00069"></a>00069 std::size_t bits_in_buffer = 0;
+<a name="l00070"></a>00070 <span class="keywordflow">while</span> (bits_in_buffer &lt; requestedbits &amp;&amp; !pending.empty()) {
+<a name="l00071"></a>00071 indata_t &amp;n(pending.front());
+<a name="l00072"></a>00072 std::size_t maxbits = requestedbits - bits_in_buffer, actualbits =
+<a name="l00073"></a>00073 (std::min)(n.second, maxbits);
+<a name="l00074"></a>00074 buffer |= (n.first &lt;&lt; bits_in_buffer);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 n.first &gt;&gt;= actualbits;
+<a name="l00077"></a>00077 n.second -= actualbits;
+<a name="l00078"></a>00078 bits_in_buffer += actualbits;
+<a name="l00079"></a>00079 bits_pending -= actualbits;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keywordflow">if</span> (n.second == 0) pending.pop();
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> (buffer &amp; ((doubledigit_t(1) &lt;&lt; requestedbits) - 1));
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 } <span class="comment">// namespace detail</span>
+<a name="l00087"></a>00087 } <span class="comment">// namespace xint</span>
+<a name="l00088"></a>00088 } <span class="comment">// namespace boost</span>
+<a name="l00090"></a>00090 <span class="comment"></span>
+<a name="l00091"></a>00091 <span class="preprocessor">#endif // BOOST_XINT_INCLUDED_BITQUEUET_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -36,7 +36,7 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#a7b3f254223974ed79663f9a0e4d1649c">quotient</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html#aa79bd57f1bc85ceb86913fd0f81c9e2d">remainder</a></td><td><a class="el" href="classboost_1_1xint_1_1base__divide__t.html">boost::xint::base_divide_t&lt; T &gt;</a></td><td></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1base__divide__t.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -233,7 +233,7 @@
 <li>detail/<a class="el" href="basic__types__and__includes_8hpp_source.html">basic_types_and_includes.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::default_random_generator Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1default__random__generator.html#a4289636c47258469b78703ae791812f6">default_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">boost::xint::default_random_generator</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1default__random__generator.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -71,7 +71,7 @@
 <li><a class="el" href="random_8hpp_source.html">random.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html#a0968d8ac61c24529816bcaf69d155b75">cannot_represent</a>(const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1cannot__represent.html">boost::xint::exceptions::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1cannot__represent.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html#aaff4d720e4a134315acde919ff06e640">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html">boost::xint::exceptions::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1divide__by__zero.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_argument Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html#a8ba3e56172de34c772b287ce8e325f32">invalid_argument</a>(const std::string &amp;what=&quot;invalid argument&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__argument.html">boost::xint::exceptions::invalid_argument</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__argument.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html#a4647071020547bd103ee885bec7edffa">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">boost::xint::exceptions::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__base.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html#abcdf43b30c3910dde89e406ca802eacc">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">boost::xint::exceptions::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__digit.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html#a16c06e28a7f483b0ca2fb5906d53278d">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html">boost::xint::exceptions::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1invalid__modulus.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html#ab225c7d5d10a03eac6d5e9c784135675">no_strong_random</a>(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">boost::xint::exceptions::no_strong_random</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1no__strong__random.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -66,7 +66,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html#aa47b024550fd673bd497e0875443c67f">not_a_number</a>(const std::string &amp;what=&quot;attempted to use a Not-a-Number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">boost::xint::exceptions::not_a_number</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1not__a__number.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -66,7 +66,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html#a767d8fbe5816d77fa0aadf9481d0bd5a">overflow_error</a>(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">boost::xint::exceptions::overflow_error</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1overflow__error.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -66,7 +66,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <h1>boost::xint::exceptions::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html#a111e2c1a759054d80afcd5fa4af2995c">too_big</a>(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">boost::xint::exceptions::too_big</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1exceptions_1_1too__big.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 <li><a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t-members.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t-members.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t-members.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,14 +28,14 @@
 <div class="contents">
 <h1>boost::xint::integer_t&lt;&gt; Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a1c701a8337c775e18c26759d55398b58">divide_t</a> typedef</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d">factorial</a>(size_t n)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0">factorial</a>(std::size_t n)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb">integer_t</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6735b1926fb31c09537fb8f2bcc243ef">integer_t</a>(const integer_t &amp;b, bool force_thread_safety=false)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a3e00410a0d4c027e51d9377cd8e469c8">integer_t</a>(BOOST_XINT_RV_REF(type) b)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#acbb2f2d84c8da9e32be880bc81d9a4dd">integer_t</a>(const charT *str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a8519d7f48c8f31d72cadd51e3d448347">integer_t</a>(const charT *str, charT **endptr, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a1ae3c81960394029b823464225bc368e">integer_t</a>(const std::basic_string&lt; charT &gt; &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a5de9d56709084eaadff6ab850540a49a">integer_t</a>(const charT *str, std::size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae8664e360188ac17e750a6b82ed99c02">integer_t</a>(const charT *str, const charT *&amp;endptr, std::size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#aec9ec56bb858d83cb4fbcdeac3cee9a8">integer_t</a>(const std::basic_string&lt; charT, traitsT, allocT &gt; &amp;str, std::size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e">integer_t</a>(const xint::binary_t b, bitsize_t bits=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#afcc80aaf55194eca5926d7a6d52489f0">integer_t</a>(const integer_t&lt; other &gt; &amp;other, bool force_thread_safety=false)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#ad159c2201f2cf1e1de1988cc41f8b4eb">integer_t</a>(const Type n, typename boost::enable_if&lt; boost::is_integral&lt; Type &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
@@ -67,12 +67,12 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">operator^=</a>(const integer_t n)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">operator|=</a>(const integer_t n)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1">operator~</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389">pow2</a>(size_t exponent)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76">pow2</a>(std::size_t exponent)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2">random_by_size</a>(Type &amp;gen, bitsize_t size_in_bits, bool high_bit_on=false, bool low_bit_on=false, bool can_be_negative=false)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02">random_prime</a>(Type &amp;gen, bitsize_t size_in_bits, callback_t callback=no_callback)</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3">sign</a>(bool signed_zero=false) const </td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t&lt;&gt;</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t.html (original)
+++ sandbox/xint/libs/xint/doc/classboost_1_1xint_1_1integer__t.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -44,16 +44,16 @@
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ad159c2201f2cf1e1de1988cc41f8b4eb">integer_t</a> (const Type n, typename boost::enable_if&lt; boost::is_integral&lt; Type &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#afcc80aaf55194eca5926d7a6d52489f0">integer_t</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&lt; other &gt; &amp;other, bool force_thread_safety=false)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e">integer_t</a> (const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> b, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> bits=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e">integer_t</a> (const <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a> b, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> bits=0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a portable binary representation of a number into an integer. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , typename traitsT , typename allocT &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#aec9ec56bb858d83cb4fbcdeac3cee9a8">integer_t</a> (const std::basic_string&lt; charT, traitsT, allocT &gt; &amp;str, std::size_t base=10)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an integer from a string representation. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a1ae3c81960394029b823464225bc368e">integer_t</a> (const std::basic_string&lt; charT &gt; &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an integer from a string representation. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae8664e360188ac17e750a6b82ed99c02">integer_t</a> (const charT *str, const charT *&amp;endptr, std::size_t base=10)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an integer from a string representation. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename charT &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a8519d7f48c8f31d72cadd51e3d448347">integer_t</a> (const charT *str, charT **endptr, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an integer from a string representation. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename charT &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#acbb2f2d84c8da9e32be880bc81d9a4dd">integer_t</a> (const charT *str, size_t base=10)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a5de9d56709084eaadff6ab850540a49a">integer_t</a> (const charT *str, std::size_t base=10)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a3e00410a0d4c027e51d9377cd8e469c8">integer_t</a> (BOOST_XINT_RV_REF(type) b)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6735b1926fb31c09537fb8f2bcc243ef">integer_t</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;b, bool force_thread_safety=false)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></td></tr>
@@ -62,7 +62,7 @@
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous Functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpf5be5219a55995e13d6b8d7bf99ed653"></a> </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb">hex_digits</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb">hex_digits</a> () const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells you roughly how large <code>*this</code> is. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#af7d57cc73521c4d72bc853435127b790">is_even</a> () const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine evenness. <br/></td></tr>
@@ -90,16 +90,16 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">operator--</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a7a9f9597a52bfb7c5f83bf73690a4d0c">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> b)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae55c6a634e3bd3c37f7cace2f9b9e496">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005">operator&lt;&lt;</a> (<a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005">operator&lt;&lt;</a> (<a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> shift) const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left-shift an integer by a specified number of bits. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">operator&lt;&lt;=</a> (<a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> shift)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">operator&lt;&lt;=</a> (<a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> shift)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a7798d6022dd3478a10b35b094347c95f">operator=</a> (const Type n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ae8aaa078191d16525cfb8c97d9f5f401">operator=</a> (BOOST_XINT_RV_REF(type) c)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#abc18fd9b5fce57c1824f3da24eae0d95">operator=</a> (BOOST_XINT_COPY_ASSIGN_REF(type) c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8">operator&gt;&gt;</a> (<a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8">operator&gt;&gt;</a> (<a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> shift) const </td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right-shift an integer by a specified number of bits. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">operator&gt;&gt;=</a> (<a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> shift)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">operator&gt;&gt;=</a> (<a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> shift)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1">operator~</a> () const </td></tr>
@@ -108,17 +108,17 @@
 <tr><td colspan="2"><div class="groupHeader">Static Member Functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa31d6da946887ed6180c9a44a76c862f"></a> These are functions that return an <a class="el" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t</a>, but don't take one as a parameter. To use them as free functions, you would have to specify the return type anyway, so they're static member functions of the type instead. </p>
 </div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d">factorial</a> (size_t n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0">factorial</a> (std::size_t n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of <code>n!</code> <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1">nan</a> ()</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a Not-a-Number value, for types that support it. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389">pow2</a> (size_t exponent)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76">pow2</a> (std::size_t exponent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the value of 2<sup>e</sup> <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2">random_by_size</a> (Type &amp;gen, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> size_in_bits, bool high_bit_on=false, bool low_bit_on=false, bool can_be_negative=false)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2">random_by_size</a> (Type &amp;gen, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> size_in_bits, bool high_bit_on=false, bool low_bit_on=false, bool can_be_negative=false)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random integer with specific attributes. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02">random_prime</a> (Type &amp;gen, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02">random_prime</a> (Type &amp;gen, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> size_in_bits, <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback=<a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a>)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a randomly-generated prime number of a particular bit-size. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
@@ -165,7 +165,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00200">200</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00202">202</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -189,7 +189,7 @@
 
 <p>Creates a new integer with an initial value of zero. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00259">259</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00261">261</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -230,7 +230,7 @@
 </dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00274">274</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00276">276</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -256,7 +256,7 @@
 
 </div>
 </div>
-<a class="anchor" id="acbb2f2d84c8da9e32be880bc81d9a4dd"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="acbb2f2d84c8da9e32be880bc81d9a4dd" args="(const charT *str, size_t base=10)" -->
+<a class="anchor" id="a5de9d56709084eaadff6ab850540a49a"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="a5de9d56709084eaadff6ab850540a49a" args="(const charT *str, std::size_t base=10)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -273,7 +273,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -284,13 +284,31 @@
       </table>
 </div>
 <div class="memdoc">
-<p> </p>
+<p>Create an integer from a string representation. <ul>
+<li>Complexity: O(n<sup>2</sup>)</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Exceptions:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">exceptions::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the most common way to initialize literal values that are too large to fit into a native integral type.</dd></dl>
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00296">296</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00298">298</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a8519d7f48c8f31d72cadd51e3d448347"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="a8519d7f48c8f31d72cadd51e3d448347" args="(const charT *str, charT **endptr, size_t base=10)" -->
+<a class="anchor" id="ae8664e360188ac17e750a6b82ed99c02"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="ae8664e360188ac17e750a6b82ed99c02" args="(const charT *str, const charT *&amp;endptr, std::size_t base=10)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -307,19 +325,19 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">charT **&nbsp;</td>
+ <td class="paramtype">const charT *&amp;&nbsp;</td>
           <td class="paramname"> <em>endptr</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td><code> [inline, explicit]</code></td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
@@ -333,13 +351,13 @@
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
     <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>endptr</em>&nbsp;</td><td>When the function returns, this will contain a pointer to the first character after the parsed integer. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
   </table>
   </dd>
 </dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>. </td></tr>
     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">exceptions::invalid_digit</a></em>&nbsp;</td><td>if there are no valid digits before the first invalid character.</td></tr>
   </table>
   </dd>
@@ -347,28 +365,28 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This function is based on the <code>strtol</code> function from the standard library. Like <code>strtol</code>, it first discards any leading whitespace characters, then takes as many characters as are valid for the given <code>base</code> and interprets them as an integer. Then a pointer to the first character following the integer is stored in the object pointed by <code>endptr</code>.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00343">343</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00345">345</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a1ae3c81960394029b823464225bc368e"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="a1ae3c81960394029b823464225bc368e" args="(const std::basic_string&lt; charT &gt; &amp;str, size_t base=10)" -->
+<a class="anchor" id="aec9ec56bb858d83cb4fbcdeac3cee9a8"></a><!-- doxytag: member="boost::xint::integer_t::integer_t" ref="aec9ec56bb858d83cb4fbcdeac3cee9a8" args="(const std::basic_string&lt; charT, traitsT, allocT &gt; &amp;str, std::size_t base=10)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
 template&lt;... &gt; </div>
 <div class="memtemplate">
-template&lt;typename charT &gt; </div>
+template&lt;typename charT , typename traitsT , typename allocT &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::<a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> </td>
           <td>(</td>
- <td class="paramtype">const std::basic_string&lt; charT &gt; &amp;&nbsp;</td>
+ <td class="paramtype">const std::basic_string&lt; charT, traitsT, allocT &gt; &amp;&nbsp;</td>
           <td class="paramname"> <em>str</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -387,13 +405,13 @@
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>A string representation of a number. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base that the string representation of the number is in. This can be any number between 2 and 36 (inclusive). It can also be the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>, in which case the function will follow the standard C/C++ rules for interpreting a numeric constant: any number with a zero as the first digit is assumed to be base-8; any number with a leading zero-x or zero-X (such as 0x1f) is base-16, and anything else is base-10.</td></tr>
   </table>
   </dd>
 </dl>
 <dl><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if the base parameter is not between 2 and 36 (inclusive) or the constant <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &#39;base&#39; parameter of the string-to-integer...">xint::autobase</a>. </td></tr>
     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__digit.html">exceptions::invalid_digit</a></em>&nbsp;</td><td>if the string contains any digit that cannot be part of a number in the specified base, or if there are no valid digits.</td></tr>
   </table>
   </dd>
@@ -401,7 +419,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the most common way to initialize literal values that are too large to fit into a native integral type.</dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00392">392</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00394">394</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -420,7 +438,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>bits</em> = <code>0</code></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -453,7 +471,7 @@
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">xint::to_binary</a></dd></dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00429">429</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00431">431</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -496,7 +514,7 @@
 </dl>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00455">455</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00457">457</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -544,12 +562,12 @@
 <p>You can ignore the <code>enable_if</code> parameter, it's there only to tell the compiler what types the function applies to.</p>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00490">490</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00492">492</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a6f3a91f5162f991ce61e9f925817129d"></a><!-- doxytag: member="boost::xint::integer_t::factorial" ref="a6f3a91f5162f991ce61e9f925817129d" args="(size_t n)" -->
+<a class="anchor" id="a7bc8e4868073626d1ea0dc7e9668f6e0"></a><!-- doxytag: member="boost::xint::integer_t::factorial" ref="a7bc8e4868073626d1ea0dc7e9668f6e0" args="(std::size_t n)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -558,7 +576,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::factorial </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>n</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline, static]</code></td>
@@ -580,7 +598,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> factorial, defined as <code>1*2*3*...*n</code></dd></dl>
 <dl class="warning"><dt><b>Warning:</b></dt><dd>Factorials get ridiculously huge, even with fairly small values of <code>n</code>. This function, when used on an unlimited-size integer and with a large parameter, is the easiest way to exhaust the system's memory. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01085">1085</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01087">1087</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -607,7 +625,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. The nothrow&lt;true&gt; version returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01026">1026</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01028">1028</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -634,7 +652,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. The nothrow&lt;true&gt; version returns false instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00968">968</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00970">970</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -663,7 +681,7 @@
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="nan.html">The Not-a-Number Value</a></dd></dl>
 <dl class="note"><dt><b>Note:</b></dt><dd>This will always return <code>false</code> on any type where the <code>nothrow</code> template parameter is <code>false</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00989">989</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00991">991</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -690,7 +708,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. The nothrow&lt;true&gt; version returns false instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00951">951</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00953">953</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -719,7 +737,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>If called on a type that does not support Not-a-Number values (i.e. any type whose <code>nothrow</code> template parameter is <code>false</code>), it will throw a <code>not_a_number</code> exception.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="nan.html">The Not-a-Number Value</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01117">1117</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01119">1119</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -740,7 +758,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00165">165</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00167">167</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -763,7 +781,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#aac56e280afa13284381f144a208eaf67" title="Get the remainder after dividing a number by another.">operator%(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00669">669</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00671">671</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -786,7 +804,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a356d6efa380af7ee2c2f6f0a83e7c9a3" title="Combine two integers using a bitwise AND operation.">operator&amp;(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00785">785</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00787">787</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -809,7 +827,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455" title="Calculate the product of two integers.">operator*(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00625">625</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00627">627</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -830,7 +848,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00168">168</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00170">170</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -851,7 +869,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00167">167</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00169">169</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -878,7 +896,7 @@
 </ul>
 <p>This is not recommended. It must make a copy before incrementing the <code>*this</code> object, making it noticeably less efficient than the preincrement operator. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00741">741</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00743">743</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -903,7 +921,7 @@
 <li>Complexity: amortized O(1) </li>
 </ul>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00694">694</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00696">696</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -926,7 +944,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00581">581</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00583">583</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -953,7 +971,7 @@
 </ul>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code> with the sign reversed. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00560">560</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00562">562</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -980,7 +998,7 @@
 </ul>
 <p>This is not recommended. It must make a copy before decrementing the <code>*this</code> object, making it noticeably less efficient than the predecrement operator. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00766">766</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00768">768</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1005,7 +1023,7 @@
 <li>Complexity: amortized O(1) </li>
 </ul>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00716">716</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00718">718</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1028,7 +1046,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">operator-(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00603">603</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00605">605</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1051,7 +1069,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a800dca196da627207b63fccd3c132c21" title="Calculate how many dividends would fit into divisor.">operator/(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00647">647</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00649">649</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1064,7 +1082,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::operator&lt;&lt; </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>shift</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td> const<code> [inline]</code></td>
@@ -1085,7 +1103,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00858">858</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00860">860</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1098,7 +1116,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp; <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::operator&lt;&lt;= </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>shift</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline]</code></td>
@@ -1108,7 +1126,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd>operator&lt;&lt;(integer_t, integer_t) </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00907">907</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00909">909</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1132,7 +1150,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00162">162</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00164">164</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1154,7 +1172,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00160">160</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00162">162</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1176,7 +1194,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00508">508</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00510">510</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1189,7 +1207,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::operator&gt;&gt; </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>shift</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td> const<code> [inline]</code></td>
@@ -1210,7 +1228,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The bit-shifted integer. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00886">886</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00888">888</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1223,7 +1241,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp; <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::operator&gt;&gt;= </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>shift</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline]</code></td>
@@ -1233,7 +1251,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd>operator&gt;&gt;(integer_t, integer_t) </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00926">926</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00928">928</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1256,7 +1274,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#a73c999d0550a46b24272e07f1720b025" title="Combine two integers using a bitwise XOR operation.">operator^(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00829">829</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00831">831</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1279,7 +1297,7 @@
 <div class="memdoc">
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespaceboost_1_1xint.html#aa8537f29fb1ade411f79084ffe170075" title="Combine two integers using a bitwise OR operation.">operator|(integer_t, integer_t)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00807">807</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00809">809</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1306,11 +1324,11 @@
 </ul>
 <p>Note that this operator is only useful with fixed-size integers. If used with a variable-size integer, it will throw a <code>too_big</code> exception, because a proper implementation would result in an infinitely long number. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00536">536</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l00538">538</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a45af7d644cdfe8ae95a32c7373787389"></a><!-- doxytag: member="boost::xint::integer_t::pow2" ref="a45af7d644cdfe8ae95a32c7373787389" args="(size_t exponent)" -->
+<a class="anchor" id="a5d14ff656a3464ecf2e81d490f1acb76"></a><!-- doxytag: member="boost::xint::integer_t::pow2" ref="a5d14ff656a3464ecf2e81d490f1acb76" args="(std::size_t exponent)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -1319,7 +1337,7 @@
         <tr>
           <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> <a class="el" href="classboost_1_1xint_1_1integer__t.html">boost::xint::integer_t</a>&lt;&gt;::pow2 </td>
           <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>exponent</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [inline, static]</code></td>
@@ -1341,7 +1359,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>2 to the power of <code>exponent</code>.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This is a convenience function, to help with self-documenting code. It is also more efficient than using bit-shifting or the <code>pow</code> function to get the same result. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01053">1053</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01055">1055</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1362,7 +1380,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
         <tr>
@@ -1409,7 +1427,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>A random integer with the requested attributes.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="random.html">The XInt Random Number System</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01151">1151</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01153">1153</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1430,7 +1448,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td>
+ <td class="paramtype"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td>
           <td class="paramname"> <em>size_in_bits</em>, </td>
         </tr>
         <tr>
@@ -1471,7 +1489,7 @@
 <dl class="user"><dt><b></b></dt><dd>See the <a class="el" href="random.html">Random Number Functions page</a> for details on how to get cryptographically-secure random numbers.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01197">1197</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01199">1199</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1505,7 +1523,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>-1 if <code>*this</code> is negative, 0 if it's zero, or 1 if it's greater than zero. The nothrow&lt;true&gt; version returns zero instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01005">1005</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01007">1007</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1513,7 +1531,7 @@
 <li><a class="el" href="integer_8hpp_source.html">integer.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classdisable__boost__rv__ref.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classdisable__boost__rv__ref.html (original)
+++ sandbox/xint/libs/xint/doc/classdisable__boost__rv__ref.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 <li>detail/<a class="el" href="basic__types__and__includes_8hpp_source.html">basic_types_and_includes.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/classes.html
==============================================================================
--- sandbox/xint/libs/xint/doc/classes.html (original)
+++ sandbox/xint/libs/xint/doc/classes.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -39,7 +39,7 @@
 </td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structboost_1_1xint_1_1options_1_1threadsafe__base.html">threadsafe_base</a> (<a class="el" href="namespaceboost_1_1xint_1_1options.html">boost::xint::options</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1default__random__generator.html">default_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</t
d><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="classboost_1_1xint_1_1exceptions_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint_1_1exceptions.html">boost::xint::exceptions</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/compare_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/compare_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/compare_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="compare_8hpp_source.html">compare.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/compare_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/compare_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/compare_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -43,7 +43,7 @@
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
 <a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
 <a name="l00027"></a>00027
-<a name="l00029"></a>00029 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> digit_t *b1, <span class="keyword">const</span> digit_t *b2, <span class="keywordtype">size_t</span> len, <span class="keywordtype">bool</span>
+<a name="l00029"></a>00029 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> digit_t *b1, <span class="keyword">const</span> digit_t *b2, std::size_t len, <span class="keywordtype">bool</span>
 <a name="l00030"></a>00030 equal_only)
 <a name="l00031"></a>00031 {
 <a name="l00032"></a>00032 <span class="keyword">const</span> detail::digit_t *b1i = b1 + len, *b2i = b2 + len;
@@ -122,7 +122,7 @@
 <a name="l00108"></a>00108 <span class="comment"></span>
 <a name="l00109"></a>00109 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_COMPARE_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/complexity.html
==============================================================================
--- sandbox/xint/libs/xint/doc/complexity.html (original)
+++ sandbox/xint/libs/xint/doc/complexity.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="complexity">A Note on Algorithmic Complexity </a></h1><p>This documentation includes a time-complexity estimate, in big-O notation, for each algorithm. The <code>n</code> in the complexity estimates is roughly the number of bits in the parameter(s). (More accurately, it's the number of <code>digit_t</code> values needed to hold those bits.) For those algorithms where the complexity calculation differs for different parameters, the parameter is noted as a subscript.</p>
 <p>The time complexity is well-known for some algorithms, but for others, I had to make an educated guess. If you discover an error in the listed complexity, please report it. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/complexity_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/complexity_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/complexity_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/complexity.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/convert_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/convert_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/convert_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="convert_8hpp_source.html">convert.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/convert_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/convert_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/convert_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,8 +50,8 @@
 <a name="l00032"></a>00032 }
 <a name="l00033"></a>00033
 <a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00035"></a>00035 std::basic_string&lt;charT&gt; <a class="code" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> base = 10,
-<a name="l00036"></a>00036 <span class="keywordtype">bool</span> uppercase = <span class="keyword">false</span>)
+<a name="l00035"></a>00035 std::basic_string&lt;charT&gt; <a class="code" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c" title="A shorthand function that calls to_stringtype&amp;lt;char&amp;gt;.">to_string</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t base =
+<a name="l00036"></a>00036 10, <span class="keywordtype">bool</span> uppercase = <span class="keyword">false</span>)
 <a name="l00037"></a>00037 {
 <a name="l00038"></a>00038 <span class="keywordflow">if</span> (base &lt; 2 || base &gt; 36) <span class="keywordflow">throw</span> exceptions::invalid_base();
 <a name="l00039"></a>00039
@@ -118,8 +118,8 @@
 <a name="l00100"></a>00100
 <a name="l00101"></a>00101 BOOST_XINT_RAWINT_TPL
 <a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00103"></a>00103 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> charT *str, <span class="keywordtype">char</span> **endptr, <span class="keywordtype">size_t</span>
-<a name="l00104"></a>00104 base)
+<a name="l00103"></a>00103 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> charT *str, <span class="keyword">const</span> charT*&amp; endptr,
+<a name="l00104"></a>00104 std::size_t base)
 <a name="l00105"></a>00105 {
 <a name="l00106"></a>00106 <span class="keywordtype">bool</span> negate = <span class="keyword">false</span>;
 <a name="l00107"></a>00107 <span class="keyword">const</span> charT *c = str;
@@ -128,7 +128,7 @@
 <a name="l00110"></a>00110 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;+&#39;</span>) ++c;
 <a name="l00111"></a>00111 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;-&#39;</span>) { negate = <span class="keyword">true</span>; ++c; }
 <a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keywordflow">if</span> (base == <a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
+<a name="l00113"></a>00113 <span class="keywordflow">if</span> (base == <a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
 <a name="l00114"></a>00114 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;0&#39;</span>) {
 <a name="l00115"></a>00115 ++c;
 <a name="l00116"></a>00116 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;x&#39;</span> || *c == <span class="charliteral">&#39;X&#39;</span>) {
@@ -155,20 +155,20 @@
 <a name="l00137"></a>00137 || (*c &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; *c &lt; upper))
 <a name="l00138"></a>00138 tstr.push_back(*c++);
 <a name="l00139"></a>00139 }
-<a name="l00140"></a>00140 *endptr = <span class="keyword">const_cast&lt;</span>charT*<span class="keyword">&gt;</span>(c);
+<a name="l00140"></a>00140 endptr = c;
 <a name="l00141"></a>00141
 <a name="l00142"></a>00142 from_string(tstr, base);
 <a name="l00143"></a>00143 }
 <a name="l00144"></a>00144
 <a name="l00145"></a>00145 BOOST_XINT_RAWINT_TPL
 <a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00147"></a>00147 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> charT *str, <span class="keywordtype">size_t</span> base) {
+<a name="l00147"></a>00147 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> charT *str, std::size_t base) {
 <a name="l00148"></a>00148 <span class="keywordtype">bool</span> negate = <span class="keyword">false</span>;
 <a name="l00149"></a>00149 <span class="keyword">const</span> charT *c = str;
 <a name="l00150"></a>00150 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;+&#39;</span>) ++c;
 <a name="l00151"></a>00151 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;-&#39;</span>) { negate = <span class="keyword">true</span>; ++c; }
 <a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="keywordflow">if</span> (base == <a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
+<a name="l00153"></a>00153 <span class="keywordflow">if</span> (base == <a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
 <a name="l00154"></a>00154 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;0&#39;</span>) {
 <a name="l00155"></a>00155 ++c;
 <a name="l00156"></a>00156 <span class="keywordflow">if</span> (*c == <span class="charliteral">&#39;x&#39;</span> || *c == <span class="charliteral">&#39;X&#39;</span>) {
@@ -211,16 +211,16 @@
 <a name="l00193"></a>00193 }
 <a name="l00194"></a>00194
 <a name="l00195"></a>00195 BOOST_XINT_RAWINT_TPL
-<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00197"></a>00197 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; str, <span class="keywordtype">size_t</span>
-<a name="l00198"></a>00198 base)
+<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traitsT, <span class="keyword">typename</span> allocT&gt;
+<a name="l00197"></a>00197 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_string(<span class="keyword">const</span> std::basic_string&lt;charT, traitsT,
+<a name="l00198"></a>00198 allocT&gt;&amp; str, std::size_t base)
 <a name="l00199"></a>00199 {
 <a name="l00200"></a>00200 from_string(str.c_str(), base);
 <a name="l00201"></a>00201 }
 <a name="l00202"></a>00202
 <a name="l00203"></a>00203 BOOST_XINT_RAWINT_TPL
-<a name="l00204"></a>00204 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> bits = 0) {
-<a name="l00205"></a>00205 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
+<a name="l00204"></a>00204 <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t bits = 0) {
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (bits &gt; std::size_t(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
 <a name="l00206"></a>00206 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
 <a name="l00207"></a>00207 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
 <a name="l00208"></a>00208 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
@@ -237,8 +237,8 @@
 <a name="l00219"></a>00219 }
 <a name="l00220"></a>00220
 <a name="l00221"></a>00221 BOOST_XINT_RAWINT_TPL
-<a name="l00222"></a>00222 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_binary(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <span class="keywordtype">size_t</span> bits) {
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> (bits &gt; <span class="keywordtype">size_t</span>(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
+<a name="l00222"></a>00222 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::from_binary(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, std::size_t bits) {
+<a name="l00223"></a>00223 <span class="keywordflow">if</span> (bits &gt; std::size_t(std::numeric_limits&lt;unsigned char&gt;::digits)) <span class="keywordflow">throw</span>
 <a name="l00224"></a>00224 exceptions::invalid_argument(<span class="stringliteral">&quot;can&#39;t fit that many bits into an &quot;</span>
 <a name="l00225"></a>00225 <span class="stringliteral">&quot;unsigned character on this system&quot;</span>);
 <a name="l00226"></a>00226 <span class="keywordflow">if</span> (bits == 0) bits = std::numeric_limits&lt;unsigned char&gt;::digits;
@@ -267,7 +267,7 @@
 <a name="l00249"></a>00249 <span class="stringliteral">&quot;for requested conversion&quot;</span>);
 <a name="l00250"></a>00250
 <a name="l00251"></a>00251 T rval = 0, shift = T(digit_overflowbit);
-<a name="l00252"></a>00252 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> x = 0; x &lt; n.length; ++x) {
+<a name="l00252"></a>00252 <span class="keywordflow">for</span> (std::size_t x = 0; x &lt; n.length; ++x) {
 <a name="l00253"></a>00253 <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) &gt; <span class="keyword">sizeof</span>(digit_t)) rval *= shift;
 <a name="l00254"></a>00254 rval += <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(n[n.length - x - 1]);
 <a name="l00255"></a>00255 }
@@ -281,7 +281,7 @@
 <a name="l00264"></a>00264 <span class="comment"></span>
 <a name="l00265"></a>00265 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_CONVERT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/copyonwrite_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/copyonwrite_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/copyonwrite_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/copyonwrite.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/cow.html
==============================================================================
--- sandbox/xint/libs/xint/doc/cow.html (original)
+++ sandbox/xint/libs/xint/doc/cow.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 <p>To increase the speed of the library further, it uses a copy-on-write system internally. That means that if the internal functions copy an integer object, the copy and the original share the same storage. They are only assigned separate storage when one of them is changed. This mechanism makes copying a number (explicitly, by returning it, or by using it as a non-reference parameter to a function) very fast, regardless of its size.</p>
 <p>Unfortunately, copy-on-write isn't compatible with thread-safe operation, so by default the library will ensure that all of its objects have unique storage before they are returned to your program. If you want maximum speed, and can ensure that integer objects are only used in the threads they are created in, you can disable this by using the <code>threadsafe&lt;false&gt;</code> option on the <code>integer_t</code> class template. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/dependencies.html
==============================================================================
--- sandbox/xint/libs/xint/doc/dependencies.html (original)
+++ sandbox/xint/libs/xint/doc/dependencies.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -36,7 +36,7 @@
 </ul>
 <p>All of these are header-only libraries, meaning that you don't need to worry about linking your program with them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/dependencies_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/dependencies_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/dependencies_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/dependencies.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/divide_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/divide_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/divide_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="divide_8hpp_source.html">divide.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/divide_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/divide_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/divide_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -47,7 +47,7 @@
 <a name="l00030"></a>00030 <span class="keywordtype">void</span> divide_by_single_digit(BOOST_XINT_RAWINT&amp; qtarget, BOOST_XINT_RAWINT&amp;
 <a name="l00031"></a>00031 rtarget, <span class="keyword">const</span> BOOST_XINT_RAWINT d1, digit_t d2)
 <a name="l00032"></a>00032 {
-<a name="l00033"></a>00033 <span class="keywordtype">size_t</span> d1len = d1.length;
+<a name="l00033"></a>00033 std::size_t d1len = d1.length;
 <a name="l00034"></a>00034 <span class="keyword">const</span> digit_t *d1digits = d1.digits();
 <a name="l00035"></a>00035
 <a name="l00036"></a>00036 doubledigit_t a = 0;
@@ -85,8 +85,8 @@
 <a name="l00068"></a>00068
 <a name="l00069"></a>00069 <span class="keyword">const</span> digit_t *byDigits = d2.digits();
 <a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> n = d2.length, m = d1.length - n;
-<a name="l00072"></a>00072 <span class="keywordtype">size_t</span> i = m + n, j = m;
+<a name="l00071"></a>00071 std::size_t n = d2.length, m = d1.length - n;
+<a name="l00072"></a>00072 std::size_t i = m + n, j = m;
 <a name="l00073"></a>00073
 <a name="l00074"></a>00074 digit_t *qdigits = qtarget.digits(j + 1, realloc::ignore);
 <a name="l00075"></a>00075 qtarget.length = (std::min)(j + 1, qtarget.max_length());
@@ -234,7 +234,7 @@
 <a name="l00223"></a>00223 <span class="comment"></span>
 <a name="l00224"></a>00224 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_DIVIDE_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/dox/acknowledgements.dox
==============================================================================
--- sandbox/xint/libs/xint/doc/dox/acknowledgements.dox (original)
+++ sandbox/xint/libs/xint/doc/dox/acknowledgements.dox 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -43,7 +43,7 @@
 effectively with multiple \c bool parameters.
 - Christopher Jefferson, for sharing the best way to support \c
 BOOST_NO_EXCEPTIONS.
-- Adam Merz, for suggesting wstring/wchar_t support.
+- Adam Merz, for his advice on proper wstring/wchar_t support.
 
 And the other Boost development list members who joined the discussion:
 

Modified: sandbox/xint/libs/xint/doc/ex__fibonacci.html
==============================================================================
--- sandbox/xint/libs/xint/doc/ex__fibonacci.html (original)
+++ sandbox/xint/libs/xint/doc/ex__fibonacci.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -64,7 +64,7 @@
 </pre></div><p>If you're not intimately familiar with the Fibonacci sequence, and how fast the numbers in it grow, the answer might shock you.</p>
 <p>As you can see, using the XInt library is just like using the native integer types -- except that an <code>xint::integer</code> won't overflow on you until you completely exhaust your system's memory. :-) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/ex__fibonacci_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/ex__fibonacci_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/ex__fibonacci_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/ex_fibonacci.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/exceptions.html
==============================================================================
--- sandbox/xint/libs/xint/doc/exceptions.html (original)
+++ sandbox/xint/libs/xint/doc/exceptions.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -62,7 +62,7 @@
     }
 }
 </pre></div> </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/exceptions_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/exceptions_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/exceptions_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/exceptions.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/exceptions_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/exceptions_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/exceptions_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -60,7 +60,7 @@
 
 <p>Definition in file <a class="el" href="exceptions_8hpp_source.html">exceptions.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/exceptions_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/exceptions_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/exceptions_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -114,7 +114,7 @@
 <a name="l00137"></a>00137
 <a name="l00138"></a>00138 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_EXCEPTIONS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/files.html
==============================================================================
--- sandbox/xint/libs/xint/doc/files.html (original)
+++ sandbox/xint/libs/xint/doc/files.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -57,7 +57,7 @@
   <tr><td class="indexkey">detail/<a class="el" href="streams_8hpp.html">streams.hpp</a> [code]</td><td class="indexvalue">Contains the stream input/output code for raw_integer types </td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/fixedlength.html
==============================================================================
--- sandbox/xint/libs/xint/doc/fixedlength.html (original)
+++ sandbox/xint/libs/xint/doc/fixedlength.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>The number of bits refers only to the unsigned magnitude of the number. The sign is stored separately. This means that, for example, a <code>integer_t&lt;8&gt;</code> has a range of -255 to +255, not -128 to +127 like an <code>int8_t</code>.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>Also note that when calculating with a fixed-length integer type, the number does not "wrap around" when it exceeds the type's size like the built-in signed integer types do. It is truncated to the lower bits instead. For example, <code>integer_t&lt;8&gt;(-255) - 1</code> and <code>integer_t&lt;8&gt;(255) + 1</code> will both be zero. However, the sign (on non-zero answers) is preserved, so <code>integer_t&lt;8&gt;(-255) - 2</code> will be -1. </dd></dl>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/fixedlength_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/fixedlength_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/fixedlength_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/fixedlength.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/functions.html
==============================================================================
--- sandbox/xint/libs/xint/doc/functions.html (original)
+++ sandbox/xint/libs/xint/doc/functions.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -82,7 +82,7 @@
 
 <h3><a class="anchor" id="index_f">- f -</a></h3><ul>
 <li>factorial()
-: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d">boost::xint::integer_t&lt;&gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0">boost::xint::integer_t&lt;&gt;</a>
 </li>
 </ul>
 
@@ -202,7 +202,7 @@
 
 <h3><a class="anchor" id="index_p">- p -</a></h3><ul>
 <li>pow2()
-: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389">boost::xint::integer_t&lt;&gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76">boost::xint::integer_t&lt;&gt;</a>
 </li>
 </ul>
 
@@ -240,7 +240,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/functions_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/functions_func.html (original)
+++ sandbox/xint/libs/xint/doc/functions_func.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -78,7 +78,7 @@
 
 <h3><a class="anchor" id="index_f">- f -</a></h3><ul>
 <li>factorial()
-: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d">boost::xint::integer_t&lt;&gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0">boost::xint::integer_t&lt;&gt;</a>
 </li>
 </ul>
 
@@ -198,7 +198,7 @@
 
 <h3><a class="anchor" id="index_p">- p -</a></h3><ul>
 <li>pow2()
-: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389">boost::xint::integer_t&lt;&gt;</a>
+: <a class="el" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76">boost::xint::integer_t&lt;&gt;</a>
 </li>
 </ul>
 
@@ -226,7 +226,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/functions_type.html
==============================================================================
--- sandbox/xint/libs/xint/doc/functions_type.html (original)
+++ sandbox/xint/libs/xint/doc/functions_type.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -40,7 +40,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/functions_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/functions_vars.html (original)
+++ sandbox/xint/libs/xint/doc/functions_vars.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -43,7 +43,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/gcd_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/gcd_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/gcd_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="gcd_8hpp_source.html">gcd.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/gcd_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/gcd_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/gcd_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -92,7 +92,7 @@
 <a name="l00074"></a>00074 } <span class="keywordflow">else</span> {
 <a name="l00075"></a>00075 BOOST_XINT_RAWINT n(num1, <span class="keyword">false</span>), m(num2, <span class="keyword">false</span>);
 <a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keywordtype">size_t</span> k = 0;
+<a name="l00077"></a>00077 std::size_t k = 0;
 <a name="l00078"></a>00078 <span class="keywordflow">if</span> (!<a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(n, k) &amp;&amp; !<a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(m, k)) ++k;
 <a name="l00079"></a>00079 <span class="keywordflow">if</span> (k != 0) { n &gt;&gt;= k; m &gt;&gt;= k; }
 <a name="l00080"></a>00080
@@ -157,7 +157,7 @@
 <a name="l00142"></a>00142 <span class="comment"></span>
 <a name="l00143"></a>00143 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_GCD_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/globals.html
==============================================================================
--- sandbox/xint/libs/xint/doc/globals.html (original)
+++ sandbox/xint/libs/xint/doc/globals.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -70,7 +70,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/globals_defs.html
==============================================================================
--- sandbox/xint/libs/xint/doc/globals_defs.html (original)
+++ sandbox/xint/libs/xint/doc/globals_defs.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -70,7 +70,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/hierarchy.html
==============================================================================
--- sandbox/xint/libs/xint/doc/hierarchy.html (original)
+++ sandbox/xint/libs/xint/doc/hierarchy.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -59,7 +59,7 @@
 <li><a class="el" href="classdisable__boost__rv__ref.html">disable_boost_rv_ref&lt; T &gt;</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/history.html
==============================================================================
--- sandbox/xint/libs/xint/doc/history.html (original)
+++ sandbox/xint/libs/xint/doc/history.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -57,7 +57,7 @@
 <li>Added Boost.Parameter options to the <code>integer_t</code> type, so you're no longer forced to list the options in order, and list all earlier options before the one that you want to change. </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/history_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/history_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/history_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/history.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/index.html
==============================================================================
--- sandbox/xint/libs/xint/doc/index.html (original)
+++ sandbox/xint/libs/xint/doc/index.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -62,7 +62,7 @@
 <li><a class="el" href="ex__fibonacci.html">Fibonacci Numbers</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/index_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/index_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/index_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/index.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/integer_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/integer_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/integer_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -206,11 +206,14 @@
 <tr><td class="memTemplItemLeft" align="right" valign="top">xint::binary_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">boost::xint::to_binary</a> (const integer_t n, bitsize_t bits=0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2">boost::xint::to_string</a> (const integer_t n, size_t base=10, bool uppercase=false)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c">boost::xint::to_string</a> (const integer_t n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;char&gt;</a>. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , class A0 , class A1 , class A2 , class A3 , class A4 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_string&lt; charT &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">boost::xint::to_stringtype</a> (const integer_t n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::wstring&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b">boost::xint::to_wstring</a> (const integer_t n, size_t base=10, bool uppercase=false)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a wide-character string representation of the specified integer. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::wstring&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27">boost::xint::to_wstring</a> (const integer_t n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;wchar_t&gt;</a>. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Declares the arbitrary-length integer type. </p>
@@ -265,7 +268,7 @@
 </pre></div>
 <p>Allows for comparisons between integer_t types and other integral values. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02332">2332</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02322">2322</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -287,7 +290,7 @@
 
 <p>Allows for operations between integer_t types and other integral values. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02368">2368</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02358">2358</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -367,7 +370,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/integer_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/integer_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/integer_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -85,7 +85,7 @@
 <a name="l00114"></a>00114 <span class="preprocessor"></span>
 <a name="l00115"></a>00115 <span class="keyword">public</span>:
 <a name="l00116"></a>00116 <span class="preprocessor"> #ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00117"></a>00117 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits;
+<a name="l00117"></a>00117 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits;
 <a name="l00118"></a>00118 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> Threadsafe, Secure, Nothrow;
 <a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> binding&lt;args, tag::allocator_tag,
 <a name="l00120"></a>00120 std::allocator&lt;detail::digit_t&gt; &gt;::type Alloc;
@@ -99,1717 +99,1715 @@
 <a name="l00130"></a>00130 <span class="keyword">false</span>);
 <a name="l00131"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a3e00410a0d4c027e51d9377cd8e469c8">00131</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a3e00410a0d4c027e51d9377cd8e469c8">integer_t</a>(<a class="code" href="basic__types__and__includes_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(type) b) { _swap(b); }
 <a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00133"></a>00133 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> charT *str, <span class="keywordtype">size_t</span> base = 10);
+<a name="l00133"></a>00133 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> charT *str, std::size_t base = 10);
 <a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00135"></a>00135 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> charT *str, charT **endptr, <span class="keywordtype">size_t</span> base = 10);
-<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00137"></a>00137 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; str, <span class="keywordtype">size_t</span> base = 10);
-<a name="l00138"></a>00138 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits = 0);
-<a name="l00139"></a>00139 <a class="code" href="integer_8hpp.html#a29684216936e84f92ac88714348ca53b">BOOST_XINT_OTHER_TPL</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4ddb5cb10f0acff5d6df8ee6e9791cad">BOOST_XINT_OTHER_TYPE</a>&amp; other,
-<a name="l00140"></a>00140 <span class="keywordtype">bool</span> force_thread_safety = <span class="keyword">false</span>);
-<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> Type n,
-<a name="l00142"></a>00142 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;Type&gt; &gt;::type* = 0);
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="preprocessor"> #ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00145"></a>00145 <span class="preprocessor"></span>
-<a name="l00146"></a>00146 <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> detail::raw_integer_t&lt;BitsType::value, SecureType::value,
-<a name="l00147"></a>00147 Alloc&gt; c): data(c) { <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique(); }
-<a name="l00148"></a>00148 <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> detail::raw_integer_t&lt;BitsType::value, SecureType::value,
-<a name="l00149"></a>00149 Alloc&gt; c, <span class="keywordtype">bool</span> negative): data(c, negative) { <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>)
-<a name="l00150"></a>00150 data.make_unique(); }
-<a name="l00151"></a>00151 <span class="preprocessor"> #endif // BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00152"></a>00152 <span class="preprocessor"></span>
-<a name="l00153"></a>00153
-<a name="l00159"></a>00159 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#abc18fd9b5fce57c1824f3da24eae0d95">operator=</a>(<a class="code" href="basic__types__and__includes_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(type) c);
-<a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae8aaa078191d16525cfb8c97d9f5f401">00160</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae8aaa078191d16525cfb8c97d9f5f401">operator=</a>(<a class="code" href="basic__types__and__includes_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(type) c) {
-<a name="l00161"></a>00161 _swap(c); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00162"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a7798d6022dd3478a10b35b094347c95f">00162</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7798d6022dd3478a10b35b094347c95f">operator=</a>(<span class="keyword">const</span> Type n) {
-<a name="l00163"></a>00163 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> nn(n); _swap(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00164"></a>00164
-<a name="l00165"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac15850352ec856e1a380209214cf8563">00165</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac15850352ec856e1a380209214cf8563">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_zero(); }
-<a name="l00166"></a>00166 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a567e8464311600fb2b825df15fa286f2" title="Return the additive inverse of an integer.">operator-</a>() <span class="keyword">const</span>;
-<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a641a730bbcc4e4191db4fcf753dd3d18">00167</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a641a730bbcc4e4191db4fcf753dd3d18">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a9c772faa5bee3403bed32e1d7c44f51b">00168</a> <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a9c772faa5bee3403bed32e1d7c44f51b">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00169"></a>00169 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1" title="The Bitwise Ones&amp;#39; Complement (i.e. bitwise NOT) operator.">operator~</a>() <span class="keyword">const</span>;
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aabc91bf8c44e6aff12c0b19097feceba">operator+=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
-<a name="l00172"></a>00172 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7a9f9597a52bfb7c5f83bf73690a4d0c">operator-=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
-<a name="l00173"></a>00173 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a75277c26ae0bea13bb263b4586d000af">operator*=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
-<a name="l00174"></a>00174 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae55c6a634e3bd3c37f7cace2f9b9e496">operator/=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
-<a name="l00175"></a>00175 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac61ca4bfdf11efc044602e8d4205f7ce">operator%=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">operator++</a>();
-<a name="l00178"></a>00178 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">operator--</a>();
-<a name="l00179"></a>00179 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">operator++</a>(<span class="keywordtype">int</span>);
-<a name="l00180"></a>00180 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">operator--</a>(<span class="keywordtype">int</span>);
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a10ef8068734ee6473686db051023e781">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
-<a name="l00183"></a>00183 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">operator|=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
-<a name="l00184"></a>00184 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">operator^=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
-<a name="l00185"></a>00185 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005" title="Left-shift an integer by a specified number of bits.">operator&lt;&lt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) <span class="keyword">const</span>;
-<a name="l00186"></a>00186 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8" title="Right-shift an integer by a specified number of bits.">operator&gt;&gt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) <span class="keyword">const</span>;
-<a name="l00187"></a>00187 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">operator&lt;&lt;=</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift);
-<a name="l00188"></a>00188 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">operator&gt;&gt;=</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift);
-<a name="l00190"></a>00190
-<a name="l00193"></a>00193 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a28c1cf2549da47e36ada1e3a2a020654" title="Tests the lowest bit of *this to determine oddness.">is_odd</a>() <span class="keyword">const</span>;
-<a name="l00194"></a>00194 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#af7d57cc73521c4d72bc853435127b790" title="Tests the lowest bit of *this to determine evenness.">is_even</a>() <span class="keyword">const</span>;
-<a name="l00195"></a>00195 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>() <span class="keyword">const</span>;
-<a name="l00196"></a>00196 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3" title="Tests the sign of *this.">sign</a>(<span class="keywordtype">bool</span> signed_zero = <span class="keyword">false</span>) <span class="keyword">const</span>;
-<a name="l00197"></a>00197 <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb" title="Tells you roughly how large *this is.">hex_digits</a>() <span class="keyword">const</span>;
-<a name="l00199"></a>00199
-<a name="l00200"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a1c701a8337c775e18c26759d55398b58">00200</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t&lt;BOOST_XINT_INTEGER_TYPE &gt;</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a>;
+<a name="l00135"></a>00135 <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> charT *str, <span class="keyword">const</span> charT*&amp; endptr, std::size_t base = 10);
+<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traitsT, <span class="keyword">typename</span> allocT&gt;
+<a name="l00137"></a>00137 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> std::basic_string&lt;charT, traitsT, allocT&gt;&amp; str,
+<a name="l00138"></a>00138 std::size_t base = 10);
+<a name="l00139"></a>00139 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits = 0);
+<a name="l00140"></a>00140 <a class="code" href="integer_8hpp.html#a29684216936e84f92ac88714348ca53b">BOOST_XINT_OTHER_TPL</a> <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4ddb5cb10f0acff5d6df8ee6e9791cad">BOOST_XINT_OTHER_TYPE</a>&amp; other,
+<a name="l00141"></a>00141 <span class="keywordtype">bool</span> force_thread_safety = <span class="keyword">false</span>);
+<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> Type n,
+<a name="l00143"></a>00143 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;Type&gt; &gt;::type* = 0);
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="preprocessor"> #ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
+<a name="l00147"></a>00147 <span class="keyword">explicit</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> detail::raw_integer_t&lt;BitsType::value,
+<a name="l00148"></a>00148 SecureType::value, Alloc&gt; c): data(c) { <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>)
+<a name="l00149"></a>00149 data.make_unique(); }
+<a name="l00150"></a>00150 <a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb" title="Creates a new integer with an initial value of zero.">integer_t</a>(<span class="keyword">const</span> detail::raw_integer_t&lt;BitsType::value, SecureType::value,
+<a name="l00151"></a>00151 Alloc&gt; c, <span class="keywordtype">bool</span> negative): data(c, negative) { <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>)
+<a name="l00152"></a>00152 data.make_unique(); }
+<a name="l00153"></a>00153 <span class="preprocessor"> #endif // BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span>
+<a name="l00155"></a>00155
+<a name="l00161"></a>00161 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#abc18fd9b5fce57c1824f3da24eae0d95">operator=</a>(<a class="code" href="basic__types__and__includes_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(type) c);
+<a name="l00162"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae8aaa078191d16525cfb8c97d9f5f401">00162</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae8aaa078191d16525cfb8c97d9f5f401">operator=</a>(<a class="code" href="basic__types__and__includes_8hpp.html#a0533c283bce9e4d9468ea9b3a5ab509b">BOOST_XINT_RV_REF</a>(type) c) {
+<a name="l00163"></a>00163 _swap(c); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a7798d6022dd3478a10b35b094347c95f">00164</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7798d6022dd3478a10b35b094347c95f">operator=</a>(<span class="keyword">const</span> Type n) {
+<a name="l00165"></a>00165 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> nn(n); _swap(nn); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00166"></a>00166
+<a name="l00167"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac15850352ec856e1a380209214cf8563">00167</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac15850352ec856e1a380209214cf8563">operator!</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_zero(); }
+<a name="l00168"></a>00168 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a567e8464311600fb2b825df15fa286f2" title="Return the additive inverse of an integer.">operator-</a>() <span class="keyword">const</span>;
+<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a641a730bbcc4e4191db4fcf753dd3d18">00169</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a641a730bbcc4e4191db4fcf753dd3d18">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a9c772faa5bee3403bed32e1d7c44f51b">00170</a> <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a9c772faa5bee3403bed32e1d7c44f51b">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00171"></a>00171 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1" title="The Bitwise Ones&amp;#39; Complement (i.e. bitwise NOT) operator.">operator~</a>() <span class="keyword">const</span>;
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aabc91bf8c44e6aff12c0b19097feceba">operator+=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
+<a name="l00174"></a>00174 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7a9f9597a52bfb7c5f83bf73690a4d0c">operator-=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
+<a name="l00175"></a>00175 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a75277c26ae0bea13bb263b4586d000af">operator*=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
+<a name="l00176"></a>00176 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae55c6a634e3bd3c37f7cace2f9b9e496">operator/=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
+<a name="l00177"></a>00177 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac61ca4bfdf11efc044602e8d4205f7ce">operator%=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b);
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">operator++</a>();
+<a name="l00180"></a>00180 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">operator--</a>();
+<a name="l00181"></a>00181 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">operator++</a>(<span class="keywordtype">int</span>);
+<a name="l00182"></a>00182 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">operator--</a>(<span class="keywordtype">int</span>);
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a10ef8068734ee6473686db051023e781">operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
+<a name="l00185"></a>00185 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">operator|=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
+<a name="l00186"></a>00186 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">operator^=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n);
+<a name="l00187"></a>00187 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005" title="Left-shift an integer by a specified number of bits.">operator&lt;&lt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) <span class="keyword">const</span>;
+<a name="l00188"></a>00188 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8" title="Right-shift an integer by a specified number of bits.">operator&gt;&gt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) <span class="keyword">const</span>;
+<a name="l00189"></a>00189 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">operator&lt;&lt;=</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift);
+<a name="l00190"></a>00190 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; <a class="code" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">operator&gt;&gt;=</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift);
+<a name="l00192"></a>00192
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a28c1cf2549da47e36ada1e3a2a020654" title="Tests the lowest bit of *this to determine oddness.">is_odd</a>() <span class="keyword">const</span>;
+<a name="l00196"></a>00196 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#af7d57cc73521c4d72bc853435127b790" title="Tests the lowest bit of *this to determine evenness.">is_even</a>() <span class="keyword">const</span>;
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>() <span class="keyword">const</span>;
+<a name="l00198"></a>00198 <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3" title="Tests the sign of *this.">sign</a>(<span class="keywordtype">bool</span> signed_zero = <span class="keyword">false</span>) <span class="keyword">const</span>;
+<a name="l00199"></a>00199 std::size_t <a class="code" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb" title="Tells you roughly how large *this is.">hex_digits</a>() <span class="keyword">const</span>;
 <a name="l00201"></a>00201
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389" title="Calculate the value of 2e">pow2</a>(<span class="keywordtype">size_t</span> exponent);
-<a name="l00211"></a>00211 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d" title="Calculate the value of n! ">factorial</a>(<span class="keywordtype">size_t</span> n);
-<a name="l00212"></a>00212 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l00213"></a>00213 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt; <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2" title="Generates a random integer with specific attributes.">random_by_size</a>(Type&amp;
-<a name="l00214"></a>00214 gen, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <span class="keywordtype">bool</span> high_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> low_bit_on =
-<a name="l00215"></a>00215 <span class="keyword">false</span>, <span class="keywordtype">bool</span> can_be_negative = <span class="keyword">false</span>);
-<a name="l00216"></a>00216 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt; <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(Type&amp; gen,
-<a name="l00217"></a>00217 <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>);
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="preprocessor"> #ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00221"></a>00221 <span class="preprocessor"></span>
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 <span class="keywordtype">void</span> _swap(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; s) { <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">std::swap</a>;
-<a name="l00224"></a>00224 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(data, s.data); }
-<a name="l00225"></a>00225 datatype&amp; _data() { <span class="keywordflow">return</span> data; }
-<a name="l00226"></a>00226 <span class="keyword">const</span> datatype&amp; _data()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data; }
-<a name="l00227"></a>00227 <span class="keywordtype">size_t</span> _get_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.length; }
-<a name="l00228"></a>00228 detail::digit_t _get_digit(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data[i]; }
-<a name="l00229"></a>00229 <span class="keywordtype">void</span> _make_unique() { data.make_unique(); }
-<a name="l00231"></a>00231 <span class="preprocessor"> #endif</span>
-<a name="l00232"></a>00232 <span class="preprocessor"></span>
-<a name="l00233"></a>00233 <span class="keyword">private</span>:
-<a name="l00234"></a>00234 datatype data;
-<a name="l00235"></a>00235
-<a name="l00236"></a>00236 <a class="code" href="basic__types__and__includes_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(type)
-<a name="l00237"></a>00237 };
-<a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="preprocessor">#ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00240"></a>00240 <span class="preprocessor"></span><a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00241"></a>00241 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> BOOST_XINT_INTEGER_TYPE::Bits =
-<a name="l00242"></a>00242 BOOST_XINT_INTEGER_TYPE::BitsType::value;
-<a name="l00243"></a>00243 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00244"></a>00244 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Threadsafe =
-<a name="l00245"></a>00245 BOOST_XINT_INTEGER_TYPE::ThreadsafeType::value;
-<a name="l00246"></a>00246 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00247"></a>00247 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Secure =
-<a name="l00248"></a>00248 BOOST_XINT_INTEGER_TYPE::SecureType::value;
-<a name="l00249"></a>00249 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00250"></a>00250 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Nothrow =
-<a name="l00251"></a>00251 BOOST_XINT_INTEGER_TYPE::NothrowType::value;
-<a name="l00252"></a>00252 <span class="preprocessor">#endif // BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l00253"></a>00253 <span class="preprocessor"></span>
-<a name="l00255"></a>00255 <span class="comment">// Member function template definitions</span>
-<a name="l00256"></a>00256
-<a name="l00258"></a>00258 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00259"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb">00259</a> BOOST_XINT_INTEGER_TYPE::integer_t() {
-<a name="l00260"></a>00260 <span class="comment">// Don&#39;t need to do anything, already preinitialized to zero.</span>
-<a name="l00261"></a>00261 }
-<a name="l00262"></a>00262
-<a name="l00273"></a>00273 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00274"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a6735b1926fb31c09537fb8f2bcc243ef">00274</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; b, <span class="keywordtype">bool</span>
-<a name="l00275"></a>00275 force_thread_safety)
-<a name="l00276"></a>00276 {
-<a name="l00277"></a>00277 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00278"></a>00278 <span class="keywordflow">try</span> {
-<a name="l00279"></a>00279 data = b.data;
-<a name="l00280"></a>00280 <span class="keywordflow">if</span> (!data.is_nan()) {
-<a name="l00281"></a>00281 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>)
-<a name="l00282"></a>00282 data.make_unique();
-<a name="l00283"></a>00283 }
-<a name="l00284"></a>00284 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00285"></a>00285 data.make_nan();
-<a name="l00286"></a>00286 }
-<a name="l00287"></a>00287 } <span class="keywordflow">else</span> {
-<a name="l00288"></a>00288 data = b.data;
-<a name="l00289"></a>00289 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>) data.make_unique();
-<a name="l00290"></a>00290 }
-<a name="l00291"></a>00291 }
-<a name="l00292"></a>00292
-<a name="l00294"></a>00294 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00295"></a>00295 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00296"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#acbb2f2d84c8da9e32be880bc81d9a4dd">00296</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> charT *str, <span class="keywordtype">size_t</span> base) {
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00298"></a>00298 <span class="keywordflow">try</span> {
-<a name="l00299"></a>00299 std::basic_string&lt;charT&gt; tnan = detail::nan_text&lt;charT&gt;();
-<a name="l00300"></a>00300 <span class="keywordflow">if</span> (str[0] == tnan[0] &amp;&amp; std::basic_string&lt;charT&gt;(str) == tnan) {
-<a name="l00301"></a>00301 data.make_nan();
-<a name="l00302"></a>00302 } <span class="keywordflow">else</span> {
-<a name="l00303"></a>00303 data.from_string(str, base);
-<a name="l00304"></a>00304 }
-<a name="l00305"></a>00305 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00306"></a>00306 data.make_nan();
-<a name="l00307"></a>00307 }
-<a name="l00308"></a>00308 } <span class="keywordflow">else</span> {
-<a name="l00309"></a>00309 data.from_string(str, base);
-<a name="l00310"></a>00310 }
-<a name="l00311"></a>00311 }
-<a name="l00312"></a>00312
-<a name="l00341"></a>00341 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00342"></a>00342 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00343"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a8519d7f48c8f31d72cadd51e3d448347">00343</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> charT *str, charT **endptr, <span class="keywordtype">size_t</span>
-<a name="l00344"></a>00344 base)
-<a name="l00345"></a>00345 {
-<a name="l00346"></a>00346 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00347"></a>00347 <span class="keywordflow">try</span> {
-<a name="l00348"></a>00348 std::basic_string&lt;charT&gt; tnan = detail::nan_text&lt;charT&gt;();
-<a name="l00349"></a>00349 <span class="keywordflow">if</span> (str[0] == tnan[0]) {
-<a name="l00350"></a>00350 std::basic_string&lt;charT&gt; s(str);
-<a name="l00351"></a>00351 <span class="keywordflow">if</span> (s.substr(0, tnan.length()) == tnan) {
-<a name="l00352"></a>00352 data.make_nan();
-<a name="l00353"></a>00353 *endptr = str + tnan.length();
-<a name="l00354"></a>00354 <span class="keywordflow">return</span>;
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 }
-<a name="l00357"></a>00357 data.from_string(str, endptr, base);
-<a name="l00358"></a>00358 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00359"></a>00359 data.make_nan();
-<a name="l00360"></a>00360 }
-<a name="l00361"></a>00361 } <span class="keywordflow">else</span> {
-<a name="l00362"></a>00362 data.from_string(str, endptr, base);
-<a name="l00363"></a>00363 }
-<a name="l00364"></a>00364 }
-<a name="l00365"></a>00365
-<a name="l00390"></a>00390 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00391"></a>00391 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00392"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a1ae3c81960394029b823464225bc368e">00392</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; str, <span class="keywordtype">size_t</span>
-<a name="l00393"></a>00393 base)
-<a name="l00394"></a>00394 {
-<a name="l00395"></a>00395 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00396"></a>00396 <span class="keywordflow">try</span> {
-<a name="l00397"></a>00397 <span class="keywordflow">if</span> (str == detail::nan_text&lt;charT&gt;()) data.make_nan();
-<a name="l00398"></a>00398 <span class="keywordflow">else</span> data.from_string(str, base);
-<a name="l00399"></a>00399 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00400"></a>00400 data.make_nan();
-<a name="l00401"></a>00401 }
-<a name="l00402"></a>00402 } <span class="keywordflow">else</span> {
-<a name="l00403"></a>00403 data.from_string(str, base);
-<a name="l00404"></a>00404 }
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406
-<a name="l00428"></a>00428 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00429"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e">00429</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits) {
-<a name="l00430"></a>00430 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00431"></a>00431 <span class="keywordflow">try</span> {
-<a name="l00432"></a>00432 data.from_binary(b, bits);
-<a name="l00433"></a>00433 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00434"></a>00434 data.make_nan();
-<a name="l00435"></a>00435 }
-<a name="l00436"></a>00436 } <span class="keywordflow">else</span> {
-<a name="l00437"></a>00437 data.from_binary(b, bits);
-<a name="l00438"></a>00438 }
-<a name="l00439"></a>00439 }
-<a name="l00440"></a>00440
-<a name="l00453"></a>00453 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00454"></a>00454 <a class="code" href="integer_8hpp.html#a29684216936e84f92ac88714348ca53b">BOOST_XINT_OTHER_TPL</a>
-<a name="l00455"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#afcc80aaf55194eca5926d7a6d52489f0">00455</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4ddb5cb10f0acff5d6df8ee6e9791cad">BOOST_XINT_OTHER_TYPE</a>&amp; b, <span class="keywordtype">bool</span>
-<a name="l00456"></a>00456 force_thread_safety)
-<a name="l00457"></a>00457 {
-<a name="l00458"></a>00458 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00459"></a>00459 <span class="keywordflow">try</span> {
-<a name="l00460"></a>00460 <span class="keywordflow">if</span> (b.is_nan()) {
-<a name="l00461"></a>00461 data.make_nan();
-<a name="l00462"></a>00462 } <span class="keywordflow">else</span> {
-<a name="l00463"></a>00463 data = b._data();
-<a name="l00464"></a>00464 <span class="keywordflow">if</span> (!data.is_nan() &amp;&amp; force_thread_safety &amp;&amp; Threadsafe ==
-<a name="l00465"></a>00465 <span class="keyword">false</span>) data.make_unique();
-<a name="l00466"></a>00466 }
-<a name="l00467"></a>00467 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00468"></a>00468 data.make_nan();
-<a name="l00469"></a>00469 }
-<a name="l00470"></a>00470 } <span class="keywordflow">else</span> {
-<a name="l00471"></a>00471 <span class="keywordflow">if</span> (b._data().is_nan()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">exceptions::not_a_number</a>();
-<a name="l00472"></a>00472 data = b._data();
-<a name="l00473"></a>00473 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>) data.make_unique();
-<a name="l00474"></a>00474 }
-<a name="l00475"></a>00475 }
-<a name="l00476"></a>00476
-<a name="l00489"></a>00489 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00490"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ad159c2201f2cf1e1de1988cc41f8b4eb">00490</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> Type n,
-<a name="l00491"></a>00491 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;Type&gt; &gt;::type*)
-<a name="l00492"></a>00492 {
-<a name="l00493"></a>00493 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00494"></a>00494 <span class="keywordflow">try</span> {
-<a name="l00495"></a>00495 <span class="keywordflow">if</span> (std::numeric_limits&lt;Type&gt;::is_signed) data.set_signed(n);
-<a name="l00496"></a>00496 <span class="keywordflow">else</span> data.set_unsigned(n);
-<a name="l00497"></a>00497 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00498"></a>00498 data.make_nan();
-<a name="l00499"></a>00499 }
-<a name="l00500"></a>00500 } <span class="keywordflow">else</span> {
-<a name="l00501"></a>00501 <span class="keywordflow">if</span> (std::numeric_limits&lt;Type&gt;::is_signed) data.set_signed(n);
-<a name="l00502"></a>00502 <span class="keywordflow">else</span> data.set_unsigned(n);
-<a name="l00503"></a>00503 }
-<a name="l00504"></a>00504 }
-<a name="l00505"></a>00505
-<a name="l00506"></a>00506 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00507"></a>00507 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::
-<a name="l00508"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#abc18fd9b5fce57c1824f3da24eae0d95">00508</a> operator=(<a class="code" href="basic__types__and__includes_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(type) c)
-<a name="l00509"></a>00509 {
-<a name="l00510"></a>00510 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00511"></a>00511 <span class="keywordflow">if</span> (c._data().is_nan()) data.make_nan();
-<a name="l00512"></a>00512 <span class="keywordflow">else</span> {
-<a name="l00513"></a>00513 <span class="keywordflow">try</span> {
-<a name="l00514"></a>00514 data = c.data;
-<a name="l00515"></a>00515 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00516"></a>00516 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00517"></a>00517 data.make_nan();
-<a name="l00518"></a>00518 }
-<a name="l00519"></a>00519 }
-<a name="l00520"></a>00520 } <span class="keywordflow">else</span> {
-<a name="l00521"></a>00521 data = c.data;
-<a name="l00522"></a>00522 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00523"></a>00523 }
-<a name="l00524"></a>00524 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00525"></a>00525 }
-<a name="l00526"></a>00526
-<a name="l00535"></a>00535 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00536"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1">00536</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator~()<span class="keyword"> const </span>{
-<a name="l00537"></a>00537 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00538"></a>00538 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00539"></a>00539 <span class="keywordflow">try</span> {
-<a name="l00540"></a>00540 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(~data);
-<a name="l00541"></a>00541 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00542"></a>00542 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00543"></a>00543 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00544"></a>00544 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l00545"></a>00545 }
-<a name="l00546"></a>00546 } <span class="keywordflow">else</span> {
-<a name="l00547"></a>00547 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(~data);
-<a name="l00548"></a>00548 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00549"></a>00549 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00550"></a>00550 }
-<a name="l00551"></a>00551 }
-<a name="l00552"></a>00552
-<a name="l00559"></a>00559 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00560"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a567e8464311600fb2b825df15fa286f2">00560</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">BOOST_XINT_INTEGER_TYPE::operator-</a>()<span class="keyword"> const </span>{
-<a name="l00561"></a>00561 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00562"></a>00562 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00563"></a>00563 <span class="keywordflow">try</span> {
-<a name="l00564"></a>00564 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(*<span class="keyword">this</span>);
-<a name="l00565"></a>00565 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00566"></a>00566 r.data = -r.data;
-<a name="l00567"></a>00567 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00568"></a>00568 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00569"></a>00569 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l00570"></a>00570 }
-<a name="l00571"></a>00571 } <span class="keywordflow">else</span> {
-<a name="l00572"></a>00572 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(*<span class="keyword">this</span>);
-<a name="l00573"></a>00573 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00574"></a>00574 r.data = -r.data;
-<a name="l00575"></a>00575 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00576"></a>00576 }
-<a name="l00577"></a>00577 }
-<a name="l00578"></a>00578
-<a name="l00580"></a>00580 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00581"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aabc91bf8c44e6aff12c0b19097feceba">00581</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator+=(<span class="keyword">const</span>
-<a name="l00582"></a>00582 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
-<a name="l00583"></a>00583 {
-<a name="l00584"></a>00584 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00585"></a>00585 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
-<a name="l00586"></a>00586 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00587"></a>00587 <span class="keywordflow">try</span> {
-<a name="l00588"></a>00588 data += b.data;
-<a name="l00589"></a>00589 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00590"></a>00590 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00591"></a>00591 data.make_nan();
-<a name="l00592"></a>00592 }
-<a name="l00593"></a>00593 }
-<a name="l00594"></a>00594 } <span class="keywordflow">else</span> {
-<a name="l00595"></a>00595 data += b.data;
-<a name="l00596"></a>00596 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00597"></a>00597 }
-<a name="l00598"></a>00598 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00599"></a>00599 }
-<a name="l00600"></a>00600
-<a name="l00602"></a>00602 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00603"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a7a9f9597a52bfb7c5f83bf73690a4d0c">00603</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator-=(<span class="keyword">const</span>
-<a name="l00604"></a>00604 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
-<a name="l00605"></a>00605 {
-<a name="l00606"></a>00606 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00607"></a>00607 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
-<a name="l00608"></a>00608 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00609"></a>00609 <span class="keywordflow">try</span> {
-<a name="l00610"></a>00610 data -= b.data;
-<a name="l00611"></a>00611 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00612"></a>00612 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00613"></a>00613 data.make_nan();
-<a name="l00614"></a>00614 }
-<a name="l00615"></a>00615 }
-<a name="l00616"></a>00616 } <span class="keywordflow">else</span> {
-<a name="l00617"></a>00617 data -= b.data;
-<a name="l00618"></a>00618 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00619"></a>00619 }
-<a name="l00620"></a>00620 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00621"></a>00621 }
-<a name="l00622"></a>00622
-<a name="l00624"></a>00624 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00625"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a75277c26ae0bea13bb263b4586d000af">00625</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator*=(<span class="keyword">const</span>
-<a name="l00626"></a>00626 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
-<a name="l00627"></a>00627 {
-<a name="l00628"></a>00628 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00629"></a>00629 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
-<a name="l00630"></a>00630 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00631"></a>00631 <span class="keywordflow">try</span> {
-<a name="l00632"></a>00632 data *= b.data;
-<a name="l00633"></a>00633 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00634"></a>00634 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00635"></a>00635 data.make_nan();
-<a name="l00636"></a>00636 }
-<a name="l00637"></a>00637 }
-<a name="l00638"></a>00638 } <span class="keywordflow">else</span> {
-<a name="l00639"></a>00639 data *= b.data;
-<a name="l00640"></a>00640 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00641"></a>00641 }
-<a name="l00642"></a>00642 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00643"></a>00643 }
-<a name="l00644"></a>00644
-<a name="l00646"></a>00646 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00647"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae55c6a634e3bd3c37f7cace2f9b9e496">00647</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator/=(<span class="keyword">const</span>
-<a name="l00648"></a>00648 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
-<a name="l00649"></a>00649 {
-<a name="l00650"></a>00650 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00651"></a>00651 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
-<a name="l00652"></a>00652 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00653"></a>00653 <span class="keywordflow">try</span> {
-<a name="l00654"></a>00654 data /= b.data;
-<a name="l00655"></a>00655 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00656"></a>00656 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00657"></a>00657 data.make_nan();
-<a name="l00658"></a>00658 }
-<a name="l00659"></a>00659 }
-<a name="l00660"></a>00660 } <span class="keywordflow">else</span> {
-<a name="l00661"></a>00661 data /= b.data;
-<a name="l00662"></a>00662 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00663"></a>00663 }
-<a name="l00664"></a>00664 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00665"></a>00665 }
-<a name="l00666"></a>00666
-<a name="l00668"></a>00668 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00669"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac61ca4bfdf11efc044602e8d4205f7ce">00669</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator%=(<span class="keyword">const</span>
-<a name="l00670"></a>00670 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
-<a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00673"></a>00673 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
-<a name="l00674"></a>00674 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00675"></a>00675 <span class="keywordflow">try</span> {
-<a name="l00676"></a>00676 data %= b.data;
-<a name="l00677"></a>00677 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00678"></a>00678 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00679"></a>00679 data.make_nan();
-<a name="l00680"></a>00680 }
-<a name="l00681"></a>00681 }
-<a name="l00682"></a>00682 } <span class="keywordflow">else</span> {
-<a name="l00683"></a>00683 data %= b.data;
-<a name="l00684"></a>00684 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00685"></a>00685 }
-<a name="l00686"></a>00686 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00687"></a>00687 }
-<a name="l00688"></a>00688
-<a name="l00693"></a>00693 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00694"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">00694</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator++() {
-<a name="l00695"></a>00695 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00696"></a>00696 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00697"></a>00697 <span class="keywordflow">try</span> {
-<a name="l00698"></a>00698 ++data;
-<a name="l00699"></a>00699 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00700"></a>00700 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00701"></a>00701 data.make_nan();
-<a name="l00702"></a>00702 }
-<a name="l00703"></a>00703 }
-<a name="l00704"></a>00704 } <span class="keywordflow">else</span> {
-<a name="l00705"></a>00705 ++data;
-<a name="l00706"></a>00706 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00707"></a>00707 }
-<a name="l00708"></a>00708 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00709"></a>00709 }
-<a name="l00710"></a>00710
-<a name="l00715"></a>00715 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00716"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">00716</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator--() {
-<a name="l00717"></a>00717 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00718"></a>00718 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00719"></a>00719 <span class="keywordflow">try</span> {
-<a name="l00720"></a>00720 --data;
-<a name="l00721"></a>00721 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00722"></a>00722 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00723"></a>00723 data.make_nan();
-<a name="l00724"></a>00724 }
-<a name="l00725"></a>00725 }
-<a name="l00726"></a>00726 } <span class="keywordflow">else</span> {
-<a name="l00727"></a>00727 --data;
-<a name="l00728"></a>00728 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00729"></a>00729 }
-<a name="l00730"></a>00730 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00731"></a>00731 }
-<a name="l00732"></a>00732
-<a name="l00740"></a>00740 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00741"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a86ddf2ee74e7716528baa9a0b7e18449">00741</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator++(<span class="keywordtype">int</span>) {
-<a name="l00742"></a>00742 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00743"></a>00743 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00744"></a>00744 <span class="keywordflow">try</span> {
-<a name="l00745"></a>00745 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data++);
-<a name="l00746"></a>00746 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
-<a name="l00747"></a>00747 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00748"></a>00748 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00749"></a>00749 data.make_nan();
-<a name="l00750"></a>00750 }
-<a name="l00751"></a>00751 } <span class="keywordflow">else</span> {
-<a name="l00752"></a>00752 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data++);
-<a name="l00753"></a>00753 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
-<a name="l00754"></a>00754 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00755"></a>00755 }
-<a name="l00756"></a>00756 }
-<a name="l00757"></a>00757
-<a name="l00765"></a>00765 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00766"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adab9f000397bd8856f6b73b45e6682c3">00766</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator--(<span class="keywordtype">int</span>) {
-<a name="l00767"></a>00767 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00768"></a>00768 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00769"></a>00769 <span class="keywordflow">try</span> {
-<a name="l00770"></a>00770 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data--);
-<a name="l00771"></a>00771 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
-<a name="l00772"></a>00772 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00773"></a>00773 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00774"></a>00774 data.make_nan();
-<a name="l00775"></a>00775 }
-<a name="l00776"></a>00776 } <span class="keywordflow">else</span> {
-<a name="l00777"></a>00777 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data--);
-<a name="l00778"></a>00778 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
-<a name="l00779"></a>00779 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00780"></a>00780 }
-<a name="l00781"></a>00781 }
-<a name="l00782"></a>00782
-<a name="l00784"></a>00784 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00785"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a10ef8068734ee6473686db051023e781">00785</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&amp;=(<span class="keyword">const</span>
-<a name="l00786"></a>00786 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
-<a name="l00787"></a>00787 {
-<a name="l00788"></a>00788 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00789"></a>00789 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
-<a name="l00790"></a>00790 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00791"></a>00791 <span class="keywordflow">try</span> {
-<a name="l00792"></a>00792 data &amp;= n.data;
-<a name="l00793"></a>00793 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00794"></a>00794 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00795"></a>00795 data.make_nan();
-<a name="l00796"></a>00796 }
-<a name="l00797"></a>00797 }
-<a name="l00798"></a>00798 } <span class="keywordflow">else</span> {
-<a name="l00799"></a>00799 data &amp;= n.data;
-<a name="l00800"></a>00800 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00801"></a>00801 }
-<a name="l00802"></a>00802 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00803"></a>00803 }
-<a name="l00804"></a>00804
-<a name="l00806"></a>00806 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00807"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">00807</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator|=(<span class="keyword">const</span>
-<a name="l00808"></a>00808 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
-<a name="l00809"></a>00809 {
-<a name="l00810"></a>00810 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00811"></a>00811 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
-<a name="l00812"></a>00812 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00813"></a>00813 <span class="keywordflow">try</span> {
-<a name="l00814"></a>00814 data |= n.data;
-<a name="l00815"></a>00815 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00816"></a>00816 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00817"></a>00817 data.make_nan();
-<a name="l00818"></a>00818 }
-<a name="l00819"></a>00819 }
-<a name="l00820"></a>00820 } <span class="keywordflow">else</span> {
-<a name="l00821"></a>00821 data |= n.data;
-<a name="l00822"></a>00822 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00823"></a>00823 }
-<a name="l00824"></a>00824 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00825"></a>00825 }
-<a name="l00826"></a>00826
-<a name="l00828"></a>00828 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00829"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">00829</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator^=(<span class="keyword">const</span>
-<a name="l00830"></a>00830 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
-<a name="l00831"></a>00831 {
-<a name="l00832"></a>00832 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00833"></a>00833 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
-<a name="l00834"></a>00834 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00835"></a>00835 <span class="keywordflow">try</span> {
-<a name="l00836"></a>00836 data ^= n.data;
-<a name="l00837"></a>00837 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00838"></a>00838 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00839"></a>00839 data.make_nan();
-<a name="l00840"></a>00840 }
-<a name="l00841"></a>00841 }
-<a name="l00842"></a>00842 } <span class="keywordflow">else</span> {
-<a name="l00843"></a>00843 data ^= n.data;
-<a name="l00844"></a>00844 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00845"></a>00845 }
-<a name="l00846"></a>00846 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00847"></a>00847 }
-<a name="l00848"></a>00848
-<a name="l00857"></a>00857 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00858"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005">00858</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">BOOST_XINT_INTEGER_TYPE::operator&lt;&lt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift)<span class="keyword"></span>
-<a name="l00859"></a>00859 <span class="keyword"> const</span>
-<a name="l00860"></a>00860 <span class="keyword"></span>{
-<a name="l00861"></a>00861 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00862"></a>00862 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00863"></a>00863 <span class="keywordflow">try</span> {
-<a name="l00864"></a>00864 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &lt;&lt; shift);
-<a name="l00865"></a>00865 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00866"></a>00866 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00867"></a>00867 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00868"></a>00868 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l00869"></a>00869 }
-<a name="l00870"></a>00870 } <span class="keywordflow">else</span> {
-<a name="l00871"></a>00871 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &lt;&lt; shift);
-<a name="l00872"></a>00872 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00873"></a>00873 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00874"></a>00874 }
-<a name="l00875"></a>00875 }
-<a name="l00876"></a>00876
-<a name="l00885"></a>00885 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00886"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8">00886</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">BOOST_XINT_INTEGER_TYPE::operator&gt;&gt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift)<span class="keyword"></span>
-<a name="l00887"></a>00887 <span class="keyword"> const</span>
-<a name="l00888"></a>00888 <span class="keyword"></span>{
-<a name="l00889"></a>00889 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00890"></a>00890 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00891"></a>00891 <span class="keywordflow">try</span> {
-<a name="l00892"></a>00892 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &gt;&gt; shift);
-<a name="l00893"></a>00893 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00894"></a>00894 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00895"></a>00895 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00896"></a>00896 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l00897"></a>00897 }
-<a name="l00898"></a>00898 } <span class="keywordflow">else</span> {
-<a name="l00899"></a>00899 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &gt;&gt; shift);
-<a name="l00900"></a>00900 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l00901"></a>00901 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l00902"></a>00902 }
-<a name="l00903"></a>00903 }
-<a name="l00904"></a>00904
-<a name="l00906"></a>00906 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00907"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">00907</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&lt;&lt;=(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) {
-<a name="l00908"></a>00908 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00909"></a>00909 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00910"></a>00910 <span class="keywordflow">try</span> {
-<a name="l00911"></a>00911 data &lt;&lt;= shift;
-<a name="l00912"></a>00912 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00913"></a>00913 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00914"></a>00914 data.make_nan();
-<a name="l00915"></a>00915 }
-<a name="l00916"></a>00916 }
-<a name="l00917"></a>00917 } <span class="keywordflow">else</span> {
-<a name="l00918"></a>00918 data &lt;&lt;= shift;
-<a name="l00919"></a>00919 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00920"></a>00920 }
-<a name="l00921"></a>00921 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00922"></a>00922 }
-<a name="l00923"></a>00923
-<a name="l00925"></a>00925 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00926"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">00926</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&gt;&gt;=(<a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) {
-<a name="l00927"></a>00927 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00928"></a>00928 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
-<a name="l00929"></a>00929 <span class="keywordflow">try</span> {
-<a name="l00930"></a>00930 data &gt;&gt;= shift;
-<a name="l00931"></a>00931 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00932"></a>00932 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00933"></a>00933 data.make_nan();
-<a name="l00934"></a>00934 }
-<a name="l00935"></a>00935 }
-<a name="l00936"></a>00936 } <span class="keywordflow">else</span> {
-<a name="l00937"></a>00937 data &gt;&gt;= shift;
-<a name="l00938"></a>00938 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
-<a name="l00939"></a>00939 }
-<a name="l00940"></a>00940 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00941"></a>00941 }
-<a name="l00942"></a>00942
-<a name="l00950"></a>00950 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00951"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a28c1cf2549da47e36ada1e3a2a020654">00951</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_odd()<span class="keyword"> const </span>{
-<a name="l00952"></a>00952 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00953"></a>00953 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00954"></a>00954 <span class="keywordflow">return</span> data.is_odd();
-<a name="l00955"></a>00955 } <span class="keywordflow">else</span> {
+<a name="l00202"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a1c701a8337c775e18c26759d55398b58">00202</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">base_divide_t&lt;BOOST_XINT_INTEGER_TYPE &gt;</a> <a class="code" href="classboost_1_1xint_1_1base__divide__t.html" title="Holds the results from a division-with-remainder call.">divide_t</a>;
+<a name="l00203"></a>00203
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76" title="Calculate the value of 2e">pow2</a>(std::size_t exponent);
+<a name="l00213"></a>00213 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0" title="Calculate the value of n! ">factorial</a>(std::size_t n);
+<a name="l00214"></a>00214 <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt; <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2" title="Generates a random integer with specific attributes.">random_by_size</a>(Type&amp;
+<a name="l00216"></a>00216 gen, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <span class="keywordtype">bool</span> high_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> low_bit_on =
+<a name="l00217"></a>00217 <span class="keyword">false</span>, <span class="keywordtype">bool</span> can_be_negative = <span class="keyword">false</span>);
+<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt; <span class="keyword">static</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">random_prime</a>(Type&amp; gen,
+<a name="l00219"></a>00219 <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>);
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="preprocessor"> #ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l00223"></a>00223 <span class="preprocessor"></span>
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 <span class="keywordtype">void</span> _swap(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; s) { <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">std::swap</a>;
+<a name="l00226"></a>00226 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(data, s.data); }
+<a name="l00227"></a>00227 datatype&amp; _data() { <span class="keywordflow">return</span> data; }
+<a name="l00228"></a>00228 <span class="keyword">const</span> datatype&amp; _data()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data; }
+<a name="l00229"></a>00229 std::size_t _get_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.length; }
+<a name="l00230"></a>00230 detail::digit_t _get_digit(std::size_t i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data[i]; }
+<a name="l00231"></a>00231 <span class="keywordtype">void</span> _make_unique() { data.make_unique(); }
+<a name="l00233"></a>00233 <span class="preprocessor"> #endif</span>
+<a name="l00234"></a>00234 <span class="preprocessor"></span>
+<a name="l00235"></a>00235 <span class="keyword">private</span>:
+<a name="l00236"></a>00236 datatype data;
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <a class="code" href="basic__types__and__includes_8hpp.html#a5f5634ec80010f0f87b93320fa3419f9">BOOST_XINT_COPYABLE_AND_MOVABLE</a>(type)
+<a name="l00239"></a>00239 };
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="preprocessor">#ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l00242"></a>00242 <span class="preprocessor"></span><a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00243"></a>00243 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> BOOST_XINT_INTEGER_TYPE::Bits =
+<a name="l00244"></a>00244 BOOST_XINT_INTEGER_TYPE::BitsType::value;
+<a name="l00245"></a>00245 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00246"></a>00246 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Threadsafe =
+<a name="l00247"></a>00247 BOOST_XINT_INTEGER_TYPE::ThreadsafeType::value;
+<a name="l00248"></a>00248 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00249"></a>00249 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Secure =
+<a name="l00250"></a>00250 BOOST_XINT_INTEGER_TYPE::SecureType::value;
+<a name="l00251"></a>00251 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00252"></a>00252 <span class="keyword">const</span> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::Nothrow =
+<a name="l00253"></a>00253 BOOST_XINT_INTEGER_TYPE::NothrowType::value;
+<a name="l00254"></a>00254 <span class="preprocessor">#endif // BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l00255"></a>00255 <span class="preprocessor"></span>
+<a name="l00257"></a>00257 <span class="comment">// Member function template definitions</span>
+<a name="l00258"></a>00258
+<a name="l00260"></a>00260 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00261"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adc039392b5197a0ebd69b5744ee420eb">00261</a> BOOST_XINT_INTEGER_TYPE::integer_t() {
+<a name="l00262"></a>00262 <span class="comment">// Don&#39;t need to do anything, already preinitialized to zero.</span>
+<a name="l00263"></a>00263 }
+<a name="l00264"></a>00264
+<a name="l00275"></a>00275 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00276"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a6735b1926fb31c09537fb8f2bcc243ef">00276</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; b, <span class="keywordtype">bool</span>
+<a name="l00277"></a>00277 force_thread_safety)
+<a name="l00278"></a>00278 {
+<a name="l00279"></a>00279 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00280"></a>00280 <span class="keywordflow">try</span> {
+<a name="l00281"></a>00281 data = b.data;
+<a name="l00282"></a>00282 <span class="keywordflow">if</span> (!data.is_nan()) {
+<a name="l00283"></a>00283 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>)
+<a name="l00284"></a>00284 data.make_unique();
+<a name="l00285"></a>00285 }
+<a name="l00286"></a>00286 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00287"></a>00287 data.make_nan();
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289 } <span class="keywordflow">else</span> {
+<a name="l00290"></a>00290 data = b.data;
+<a name="l00291"></a>00291 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>) data.make_unique();
+<a name="l00292"></a>00292 }
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294
+<a name="l00296"></a>00296 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
+<a name="l00298"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a5de9d56709084eaadff6ab850540a49a">00298</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> charT *str, std::size_t base) {
+<a name="l00299"></a>00299 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00300"></a>00300 <span class="keywordflow">try</span> {
+<a name="l00301"></a>00301 <span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; tnan = detail::nan_text&lt;charT&gt;();
+<a name="l00302"></a>00302 <span class="keywordflow">if</span> (str[0] == tnan[0] &amp;&amp; std::basic_string&lt;charT&gt;(str) == tnan) {
+<a name="l00303"></a>00303 data.make_nan();
+<a name="l00304"></a>00304 } <span class="keywordflow">else</span> {
+<a name="l00305"></a>00305 data.from_string(str, base);
+<a name="l00306"></a>00306 }
+<a name="l00307"></a>00307 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00308"></a>00308 data.make_nan();
+<a name="l00309"></a>00309 }
+<a name="l00310"></a>00310 } <span class="keywordflow">else</span> {
+<a name="l00311"></a>00311 data.from_string(str, base);
+<a name="l00312"></a>00312 }
+<a name="l00313"></a>00313 }
+<a name="l00314"></a>00314
+<a name="l00343"></a>00343 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00344"></a>00344 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
+<a name="l00345"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae8664e360188ac17e750a6b82ed99c02">00345</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> charT *str, <span class="keyword">const</span> charT*&amp; endptr,
+<a name="l00346"></a>00346 std::size_t base)
+<a name="l00347"></a>00347 {
+<a name="l00348"></a>00348 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00349"></a>00349 <span class="keywordflow">try</span> {
+<a name="l00350"></a>00350 <span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; tnan = detail::nan_text&lt;charT&gt;();
+<a name="l00351"></a>00351 <span class="keywordflow">if</span> (str[0] == tnan[0]) {
+<a name="l00352"></a>00352 std::basic_string&lt;charT&gt; s(str);
+<a name="l00353"></a>00353 <span class="keywordflow">if</span> (s.substr(0, tnan.length()) == tnan) {
+<a name="l00354"></a>00354 data.make_nan();
+<a name="l00355"></a>00355 endptr = str + tnan.length();
+<a name="l00356"></a>00356 <span class="keywordflow">return</span>;
+<a name="l00357"></a>00357 }
+<a name="l00358"></a>00358 }
+<a name="l00359"></a>00359 data.from_string(str, endptr, base);
+<a name="l00360"></a>00360 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00361"></a>00361 data.make_nan();
+<a name="l00362"></a>00362 }
+<a name="l00363"></a>00363 } <span class="keywordflow">else</span> {
+<a name="l00364"></a>00364 data.from_string(str, endptr, base);
+<a name="l00365"></a>00365 }
+<a name="l00366"></a>00366 }
+<a name="l00367"></a>00367
+<a name="l00392"></a>00392 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00393"></a>00393 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traitsT, <span class="keyword">typename</span> allocT&gt;
+<a name="l00394"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aec9ec56bb858d83cb4fbcdeac3cee9a8">00394</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> std::basic_string&lt;charT, traitsT,
+<a name="l00395"></a>00395 allocT&gt;&amp; str, std::size_t base)
+<a name="l00396"></a>00396 {
+<a name="l00397"></a>00397 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00398"></a>00398 <span class="keywordflow">try</span> {
+<a name="l00399"></a>00399 <span class="keywordflow">if</span> (str == detail::nan_text&lt;charT&gt;()) data.make_nan();
+<a name="l00400"></a>00400 <span class="keywordflow">else</span> data.from_string(str, base);
+<a name="l00401"></a>00401 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00402"></a>00402 data.make_nan();
+<a name="l00403"></a>00403 }
+<a name="l00404"></a>00404 } <span class="keywordflow">else</span> {
+<a name="l00405"></a>00405 data.from_string(str, base);
+<a name="l00406"></a>00406 }
+<a name="l00407"></a>00407 }
+<a name="l00408"></a>00408
+<a name="l00430"></a>00430 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00431"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e">00431</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits) {
+<a name="l00432"></a>00432 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00433"></a>00433 <span class="keywordflow">try</span> {
+<a name="l00434"></a>00434 data.from_binary(b, bits);
+<a name="l00435"></a>00435 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00436"></a>00436 data.make_nan();
+<a name="l00437"></a>00437 }
+<a name="l00438"></a>00438 } <span class="keywordflow">else</span> {
+<a name="l00439"></a>00439 data.from_binary(b, bits);
+<a name="l00440"></a>00440 }
+<a name="l00441"></a>00441 }
+<a name="l00442"></a>00442
+<a name="l00455"></a>00455 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00456"></a>00456 <a class="code" href="integer_8hpp.html#a29684216936e84f92ac88714348ca53b">BOOST_XINT_OTHER_TPL</a>
+<a name="l00457"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#afcc80aaf55194eca5926d7a6d52489f0">00457</a> BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4ddb5cb10f0acff5d6df8ee6e9791cad">BOOST_XINT_OTHER_TYPE</a>&amp; b, <span class="keywordtype">bool</span>
+<a name="l00458"></a>00458 force_thread_safety)
+<a name="l00459"></a>00459 {
+<a name="l00460"></a>00460 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00461"></a>00461 <span class="keywordflow">try</span> {
+<a name="l00462"></a>00462 <span class="keywordflow">if</span> (b.is_nan()) {
+<a name="l00463"></a>00463 data.make_nan();
+<a name="l00464"></a>00464 } <span class="keywordflow">else</span> {
+<a name="l00465"></a>00465 data = b._data();
+<a name="l00466"></a>00466 <span class="keywordflow">if</span> (!data.is_nan() &amp;&amp; force_thread_safety &amp;&amp; Threadsafe ==
+<a name="l00467"></a>00467 <span class="keyword">false</span>) data.make_unique();
+<a name="l00468"></a>00468 }
+<a name="l00469"></a>00469 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00470"></a>00470 data.make_nan();
+<a name="l00471"></a>00471 }
+<a name="l00472"></a>00472 } <span class="keywordflow">else</span> {
+<a name="l00473"></a>00473 <span class="keywordflow">if</span> (b._data().is_nan()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">exceptions::not_a_number</a>();
+<a name="l00474"></a>00474 data = b._data();
+<a name="l00475"></a>00475 <span class="keywordflow">if</span> (force_thread_safety &amp;&amp; Threadsafe == <span class="keyword">false</span>) data.make_unique();
+<a name="l00476"></a>00476 }
+<a name="l00477"></a>00477 }
+<a name="l00478"></a>00478
+<a name="l00491"></a>00491 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00492"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ad159c2201f2cf1e1de1988cc41f8b4eb">00492</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type&gt; BOOST_XINT_INTEGER_TYPE::integer_t(<span class="keyword">const</span> Type n,
+<a name="l00493"></a>00493 <span class="keyword">typename</span> boost::enable_if&lt;boost::is_integral&lt;Type&gt; &gt;::type*)
+<a name="l00494"></a>00494 {
+<a name="l00495"></a>00495 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00496"></a>00496 <span class="keywordflow">try</span> {
+<a name="l00497"></a>00497 <span class="keywordflow">if</span> (std::numeric_limits&lt;Type&gt;::is_signed) data.set_signed(n);
+<a name="l00498"></a>00498 <span class="keywordflow">else</span> data.set_unsigned(n);
+<a name="l00499"></a>00499 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00500"></a>00500 data.make_nan();
+<a name="l00501"></a>00501 }
+<a name="l00502"></a>00502 } <span class="keywordflow">else</span> {
+<a name="l00503"></a>00503 <span class="keywordflow">if</span> (std::numeric_limits&lt;Type&gt;::is_signed) data.set_signed(n);
+<a name="l00504"></a>00504 <span class="keywordflow">else</span> data.set_unsigned(n);
+<a name="l00505"></a>00505 }
+<a name="l00506"></a>00506 }
+<a name="l00507"></a>00507
+<a name="l00508"></a>00508 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00509"></a>00509 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::
+<a name="l00510"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#abc18fd9b5fce57c1824f3da24eae0d95">00510</a> operator=(<a class="code" href="basic__types__and__includes_8hpp.html#a8177a6a6c68ea042f7e644d8ef7128f9">BOOST_XINT_COPY_ASSIGN_REF</a>(type) c)
+<a name="l00511"></a>00511 {
+<a name="l00512"></a>00512 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00513"></a>00513 <span class="keywordflow">if</span> (c._data().is_nan()) data.make_nan();
+<a name="l00514"></a>00514 <span class="keywordflow">else</span> {
+<a name="l00515"></a>00515 <span class="keywordflow">try</span> {
+<a name="l00516"></a>00516 data = c.data;
+<a name="l00517"></a>00517 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00518"></a>00518 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00519"></a>00519 data.make_nan();
+<a name="l00520"></a>00520 }
+<a name="l00521"></a>00521 }
+<a name="l00522"></a>00522 } <span class="keywordflow">else</span> {
+<a name="l00523"></a>00523 data = c.data;
+<a name="l00524"></a>00524 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00525"></a>00525 }
+<a name="l00526"></a>00526 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00527"></a>00527 }
+<a name="l00528"></a>00528
+<a name="l00537"></a>00537 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00538"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ad0328a5852615d76af78e99dbde3adc1">00538</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator~()<span class="keyword"> const </span>{
+<a name="l00539"></a>00539 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00540"></a>00540 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00541"></a>00541 <span class="keywordflow">try</span> {
+<a name="l00542"></a>00542 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(~data);
+<a name="l00543"></a>00543 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00544"></a>00544 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00545"></a>00545 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00546"></a>00546 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l00547"></a>00547 }
+<a name="l00548"></a>00548 } <span class="keywordflow">else</span> {
+<a name="l00549"></a>00549 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(~data);
+<a name="l00550"></a>00550 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00551"></a>00551 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00552"></a>00552 }
+<a name="l00553"></a>00553 }
+<a name="l00554"></a>00554
+<a name="l00561"></a>00561 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00562"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a567e8464311600fb2b825df15fa286f2">00562</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">BOOST_XINT_INTEGER_TYPE::operator-</a>()<span class="keyword"> const </span>{
+<a name="l00563"></a>00563 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00564"></a>00564 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00565"></a>00565 <span class="keywordflow">try</span> {
+<a name="l00566"></a>00566 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(*<span class="keyword">this</span>);
+<a name="l00567"></a>00567 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00568"></a>00568 r.data = -r.data;
+<a name="l00569"></a>00569 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00570"></a>00570 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00571"></a>00571 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l00572"></a>00572 }
+<a name="l00573"></a>00573 } <span class="keywordflow">else</span> {
+<a name="l00574"></a>00574 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(*<span class="keyword">this</span>);
+<a name="l00575"></a>00575 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00576"></a>00576 r.data = -r.data;
+<a name="l00577"></a>00577 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00578"></a>00578 }
+<a name="l00579"></a>00579 }
+<a name="l00580"></a>00580
+<a name="l00582"></a>00582 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00583"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aabc91bf8c44e6aff12c0b19097feceba">00583</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator+=(<span class="keyword">const</span>
+<a name="l00584"></a>00584 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
+<a name="l00585"></a>00585 {
+<a name="l00586"></a>00586 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00587"></a>00587 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
+<a name="l00588"></a>00588 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00589"></a>00589 <span class="keywordflow">try</span> {
+<a name="l00590"></a>00590 data += b.data;
+<a name="l00591"></a>00591 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00592"></a>00592 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00593"></a>00593 data.make_nan();
+<a name="l00594"></a>00594 }
+<a name="l00595"></a>00595 }
+<a name="l00596"></a>00596 } <span class="keywordflow">else</span> {
+<a name="l00597"></a>00597 data += b.data;
+<a name="l00598"></a>00598 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00599"></a>00599 }
+<a name="l00600"></a>00600 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00601"></a>00601 }
+<a name="l00602"></a>00602
+<a name="l00604"></a>00604 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00605"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a7a9f9597a52bfb7c5f83bf73690a4d0c">00605</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator-=(<span class="keyword">const</span>
+<a name="l00606"></a>00606 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
+<a name="l00607"></a>00607 {
+<a name="l00608"></a>00608 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00609"></a>00609 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
+<a name="l00610"></a>00610 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00611"></a>00611 <span class="keywordflow">try</span> {
+<a name="l00612"></a>00612 data -= b.data;
+<a name="l00613"></a>00613 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00614"></a>00614 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00615"></a>00615 data.make_nan();
+<a name="l00616"></a>00616 }
+<a name="l00617"></a>00617 }
+<a name="l00618"></a>00618 } <span class="keywordflow">else</span> {
+<a name="l00619"></a>00619 data -= b.data;
+<a name="l00620"></a>00620 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00621"></a>00621 }
+<a name="l00622"></a>00622 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00623"></a>00623 }
+<a name="l00624"></a>00624
+<a name="l00626"></a>00626 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00627"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a75277c26ae0bea13bb263b4586d000af">00627</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator*=(<span class="keyword">const</span>
+<a name="l00628"></a>00628 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
+<a name="l00629"></a>00629 {
+<a name="l00630"></a>00630 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00631"></a>00631 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
+<a name="l00632"></a>00632 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00633"></a>00633 <span class="keywordflow">try</span> {
+<a name="l00634"></a>00634 data *= b.data;
+<a name="l00635"></a>00635 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00636"></a>00636 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00637"></a>00637 data.make_nan();
+<a name="l00638"></a>00638 }
+<a name="l00639"></a>00639 }
+<a name="l00640"></a>00640 } <span class="keywordflow">else</span> {
+<a name="l00641"></a>00641 data *= b.data;
+<a name="l00642"></a>00642 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00643"></a>00643 }
+<a name="l00644"></a>00644 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00645"></a>00645 }
+<a name="l00646"></a>00646
+<a name="l00648"></a>00648 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00649"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae55c6a634e3bd3c37f7cace2f9b9e496">00649</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator/=(<span class="keyword">const</span>
+<a name="l00650"></a>00650 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
+<a name="l00651"></a>00651 {
+<a name="l00652"></a>00652 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00653"></a>00653 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
+<a name="l00654"></a>00654 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00655"></a>00655 <span class="keywordflow">try</span> {
+<a name="l00656"></a>00656 data /= b.data;
+<a name="l00657"></a>00657 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00658"></a>00658 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00659"></a>00659 data.make_nan();
+<a name="l00660"></a>00660 }
+<a name="l00661"></a>00661 }
+<a name="l00662"></a>00662 } <span class="keywordflow">else</span> {
+<a name="l00663"></a>00663 data /= b.data;
+<a name="l00664"></a>00664 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00665"></a>00665 }
+<a name="l00666"></a>00666 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00667"></a>00667 }
+<a name="l00668"></a>00668
+<a name="l00670"></a>00670 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00671"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac61ca4bfdf11efc044602e8d4205f7ce">00671</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator%=(<span class="keyword">const</span>
+<a name="l00672"></a>00672 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> b)
+<a name="l00673"></a>00673 {
+<a name="l00674"></a>00674 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00675"></a>00675 <span class="keywordflow">if</span> (b.is_nan()) data.make_nan();
+<a name="l00676"></a>00676 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00677"></a>00677 <span class="keywordflow">try</span> {
+<a name="l00678"></a>00678 data %= b.data;
+<a name="l00679"></a>00679 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00680"></a>00680 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00681"></a>00681 data.make_nan();
+<a name="l00682"></a>00682 }
+<a name="l00683"></a>00683 }
+<a name="l00684"></a>00684 } <span class="keywordflow">else</span> {
+<a name="l00685"></a>00685 data %= b.data;
+<a name="l00686"></a>00686 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00687"></a>00687 }
+<a name="l00688"></a>00688 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00689"></a>00689 }
+<a name="l00690"></a>00690
+<a name="l00695"></a>00695 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00696"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a68ed7bd6ea19ffe3e2c84c65a456ff38">00696</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator++() {
+<a name="l00697"></a>00697 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00698"></a>00698 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00699"></a>00699 <span class="keywordflow">try</span> {
+<a name="l00700"></a>00700 ++data;
+<a name="l00701"></a>00701 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00702"></a>00702 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00703"></a>00703 data.make_nan();
+<a name="l00704"></a>00704 }
+<a name="l00705"></a>00705 }
+<a name="l00706"></a>00706 } <span class="keywordflow">else</span> {
+<a name="l00707"></a>00707 ++data;
+<a name="l00708"></a>00708 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00709"></a>00709 }
+<a name="l00710"></a>00710 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00711"></a>00711 }
+<a name="l00712"></a>00712
+<a name="l00717"></a>00717 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00718"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adac8c52f928aa7aeb8556aa3a2ec16a7">00718</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator--() {
+<a name="l00719"></a>00719 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00720"></a>00720 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00721"></a>00721 <span class="keywordflow">try</span> {
+<a name="l00722"></a>00722 --data;
+<a name="l00723"></a>00723 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00724"></a>00724 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00725"></a>00725 data.make_nan();
+<a name="l00726"></a>00726 }
+<a name="l00727"></a>00727 }
+<a name="l00728"></a>00728 } <span class="keywordflow">else</span> {
+<a name="l00729"></a>00729 --data;
+<a name="l00730"></a>00730 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00731"></a>00731 }
+<a name="l00732"></a>00732 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00733"></a>00733 }
+<a name="l00734"></a>00734
+<a name="l00742"></a>00742 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00743"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a86ddf2ee74e7716528baa9a0b7e18449">00743</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator++(<span class="keywordtype">int</span>) {
+<a name="l00744"></a>00744 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00745"></a>00745 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00746"></a>00746 <span class="keywordflow">try</span> {
+<a name="l00747"></a>00747 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data++);
+<a name="l00748"></a>00748 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
+<a name="l00749"></a>00749 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00750"></a>00750 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00751"></a>00751 data.make_nan();
+<a name="l00752"></a>00752 }
+<a name="l00753"></a>00753 } <span class="keywordflow">else</span> {
+<a name="l00754"></a>00754 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data++);
+<a name="l00755"></a>00755 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
+<a name="l00756"></a>00756 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00757"></a>00757 }
+<a name="l00758"></a>00758 }
+<a name="l00759"></a>00759
+<a name="l00767"></a>00767 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00768"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adab9f000397bd8856f6b73b45e6682c3">00768</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::operator--(<span class="keywordtype">int</span>) {
+<a name="l00769"></a>00769 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00770"></a>00770 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00771"></a>00771 <span class="keywordflow">try</span> {
+<a name="l00772"></a>00772 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data--);
+<a name="l00773"></a>00773 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
+<a name="l00774"></a>00774 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00775"></a>00775 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00776"></a>00776 data.make_nan();
+<a name="l00777"></a>00777 }
+<a name="l00778"></a>00778 } <span class="keywordflow">else</span> {
+<a name="l00779"></a>00779 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data--);
+<a name="l00780"></a>00780 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) { r._make_unique(); data.make_unique(); }
+<a name="l00781"></a>00781 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00782"></a>00782 }
+<a name="l00783"></a>00783 }
+<a name="l00784"></a>00784
+<a name="l00786"></a>00786 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00787"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a10ef8068734ee6473686db051023e781">00787</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&amp;=(<span class="keyword">const</span>
+<a name="l00788"></a>00788 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
+<a name="l00789"></a>00789 {
+<a name="l00790"></a>00790 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00791"></a>00791 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
+<a name="l00792"></a>00792 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00793"></a>00793 <span class="keywordflow">try</span> {
+<a name="l00794"></a>00794 data &amp;= n.data;
+<a name="l00795"></a>00795 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00796"></a>00796 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00797"></a>00797 data.make_nan();
+<a name="l00798"></a>00798 }
+<a name="l00799"></a>00799 }
+<a name="l00800"></a>00800 } <span class="keywordflow">else</span> {
+<a name="l00801"></a>00801 data &amp;= n.data;
+<a name="l00802"></a>00802 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00803"></a>00803 }
+<a name="l00804"></a>00804 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00805"></a>00805 }
+<a name="l00806"></a>00806
+<a name="l00808"></a>00808 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00809"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aefbb50f543ab91bef86e9aabc6e61610">00809</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator|=(<span class="keyword">const</span>
+<a name="l00810"></a>00810 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
+<a name="l00811"></a>00811 {
+<a name="l00812"></a>00812 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00813"></a>00813 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
+<a name="l00814"></a>00814 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00815"></a>00815 <span class="keywordflow">try</span> {
+<a name="l00816"></a>00816 data |= n.data;
+<a name="l00817"></a>00817 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00818"></a>00818 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00819"></a>00819 data.make_nan();
+<a name="l00820"></a>00820 }
+<a name="l00821"></a>00821 }
+<a name="l00822"></a>00822 } <span class="keywordflow">else</span> {
+<a name="l00823"></a>00823 data |= n.data;
+<a name="l00824"></a>00824 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00825"></a>00825 }
+<a name="l00826"></a>00826 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00827"></a>00827 }
+<a name="l00828"></a>00828
+<a name="l00830"></a>00830 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00831"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ac70939fc8a6ab9b1dd59694fbcdbd3ae">00831</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator^=(<span class="keyword">const</span>
+<a name="l00832"></a>00832 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
+<a name="l00833"></a>00833 {
+<a name="l00834"></a>00834 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00835"></a>00835 <span class="keywordflow">if</span> (n.is_nan()) data.make_nan();
+<a name="l00836"></a>00836 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00837"></a>00837 <span class="keywordflow">try</span> {
+<a name="l00838"></a>00838 data ^= n.data;
+<a name="l00839"></a>00839 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00840"></a>00840 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00841"></a>00841 data.make_nan();
+<a name="l00842"></a>00842 }
+<a name="l00843"></a>00843 }
+<a name="l00844"></a>00844 } <span class="keywordflow">else</span> {
+<a name="l00845"></a>00845 data ^= n.data;
+<a name="l00846"></a>00846 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00847"></a>00847 }
+<a name="l00848"></a>00848 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00849"></a>00849 }
+<a name="l00850"></a>00850
+<a name="l00859"></a>00859 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00860"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#ae328872eb71547090e6259c7af6d9005">00860</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">BOOST_XINT_INTEGER_TYPE::operator&lt;&lt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift)<span class="keyword"></span>
+<a name="l00861"></a>00861 <span class="keyword"> const</span>
+<a name="l00862"></a>00862 <span class="keyword"></span>{
+<a name="l00863"></a>00863 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00864"></a>00864 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00865"></a>00865 <span class="keywordflow">try</span> {
+<a name="l00866"></a>00866 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &lt;&lt; shift);
+<a name="l00867"></a>00867 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00868"></a>00868 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00869"></a>00869 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00870"></a>00870 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l00871"></a>00871 }
+<a name="l00872"></a>00872 } <span class="keywordflow">else</span> {
+<a name="l00873"></a>00873 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &lt;&lt; shift);
+<a name="l00874"></a>00874 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00875"></a>00875 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00876"></a>00876 }
+<a name="l00877"></a>00877 }
+<a name="l00878"></a>00878
+<a name="l00887"></a>00887 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00888"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a62d51331f6ec9b4878c537b7848265d8">00888</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">BOOST_XINT_INTEGER_TYPE::operator&gt;&gt;</a>(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift)<span class="keyword"></span>
+<a name="l00889"></a>00889 <span class="keyword"> const</span>
+<a name="l00890"></a>00890 <span class="keyword"></span>{
+<a name="l00891"></a>00891 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00892"></a>00892 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00893"></a>00893 <span class="keywordflow">try</span> {
+<a name="l00894"></a>00894 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &gt;&gt; shift);
+<a name="l00895"></a>00895 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00896"></a>00896 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00897"></a>00897 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00898"></a>00898 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l00899"></a>00899 }
+<a name="l00900"></a>00900 } <span class="keywordflow">else</span> {
+<a name="l00901"></a>00901 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(data &gt;&gt; shift);
+<a name="l00902"></a>00902 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l00903"></a>00903 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l00904"></a>00904 }
+<a name="l00905"></a>00905 }
+<a name="l00906"></a>00906
+<a name="l00908"></a>00908 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00909"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a75912e8f7238e9db46f53e793be13549">00909</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&lt;&lt;=(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) {
+<a name="l00910"></a>00910 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00911"></a>00911 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00912"></a>00912 <span class="keywordflow">try</span> {
+<a name="l00913"></a>00913 data &lt;&lt;= shift;
+<a name="l00914"></a>00914 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00915"></a>00915 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00916"></a>00916 data.make_nan();
+<a name="l00917"></a>00917 }
+<a name="l00918"></a>00918 }
+<a name="l00919"></a>00919 } <span class="keywordflow">else</span> {
+<a name="l00920"></a>00920 data &lt;&lt;= shift;
+<a name="l00921"></a>00921 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00922"></a>00922 }
+<a name="l00923"></a>00923 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00924"></a>00924 }
+<a name="l00925"></a>00925
+<a name="l00927"></a>00927 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00928"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aaf46801d882d2f215b03eab5ec8622dc">00928</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; BOOST_XINT_INTEGER_TYPE::operator&gt;&gt;=(<a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> shift) {
+<a name="l00929"></a>00929 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00930"></a>00930 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) {
+<a name="l00931"></a>00931 <span class="keywordflow">try</span> {
+<a name="l00932"></a>00932 data &gt;&gt;= shift;
+<a name="l00933"></a>00933 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00934"></a>00934 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00935"></a>00935 data.make_nan();
+<a name="l00936"></a>00936 }
+<a name="l00937"></a>00937 }
+<a name="l00938"></a>00938 } <span class="keywordflow">else</span> {
+<a name="l00939"></a>00939 data &gt;&gt;= shift;
+<a name="l00940"></a>00940 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) data.make_unique();
+<a name="l00941"></a>00941 }
+<a name="l00942"></a>00942 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00943"></a>00943 }
+<a name="l00944"></a>00944
+<a name="l00952"></a>00952 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00953"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a28c1cf2549da47e36ada1e3a2a020654">00953</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_odd()<span class="keyword"> const </span>{
+<a name="l00954"></a>00954 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00955"></a>00955 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
 <a name="l00956"></a>00956 <span class="keywordflow">return</span> data.is_odd();
-<a name="l00957"></a>00957 }
-<a name="l00958"></a>00958 }
-<a name="l00959"></a>00959
-<a name="l00967"></a>00967 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00968"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#af7d57cc73521c4d72bc853435127b790">00968</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_even()<span class="keyword"> const </span>{
-<a name="l00969"></a>00969 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l00970"></a>00970 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00971"></a>00971 <span class="keywordflow">return</span> data.is_even();
-<a name="l00972"></a>00972 } <span class="keywordflow">else</span> {
+<a name="l00957"></a>00957 } <span class="keywordflow">else</span> {
+<a name="l00958"></a>00958 <span class="keywordflow">return</span> data.is_odd();
+<a name="l00959"></a>00959 }
+<a name="l00960"></a>00960 }
+<a name="l00961"></a>00961
+<a name="l00969"></a>00969 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00970"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#af7d57cc73521c4d72bc853435127b790">00970</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_even()<span class="keyword"> const </span>{
+<a name="l00971"></a>00971 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l00972"></a>00972 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
 <a name="l00973"></a>00973 <span class="keywordflow">return</span> data.is_even();
-<a name="l00974"></a>00974 }
-<a name="l00975"></a>00975 }
-<a name="l00976"></a>00976
-<a name="l00988"></a>00988 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l00989"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5">00989</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_nan()<span class="keyword"> const </span>{
-<a name="l00990"></a>00990 <span class="keywordflow">return</span> data.is_nan();
-<a name="l00991"></a>00991 }
-<a name="l00992"></a>00992
-<a name="l01004"></a>01004 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01005"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3">01005</a> <span class="keywordtype">int</span> BOOST_XINT_INTEGER_TYPE::sign(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
-<a name="l01006"></a>01006 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01007"></a>01007 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
-<a name="l01008"></a>01008 <span class="keywordflow">try</span> {
-<a name="l01009"></a>01009 <span class="keywordflow">return</span> data.sign(signed_zero);
-<a name="l01010"></a>01010 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01011"></a>01011 <span class="keywordflow">return</span> 0;
-<a name="l01012"></a>01012 }
-<a name="l01013"></a>01013 } <span class="keywordflow">else</span> {
-<a name="l01014"></a>01014 <span class="keywordflow">return</span> data.sign(signed_zero);
-<a name="l01015"></a>01015 }
-<a name="l01016"></a>01016 }
-<a name="l01017"></a>01017
-<a name="l01025"></a>01025 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01026"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb">01026</a> <span class="keywordtype">size_t</span> BOOST_XINT_INTEGER_TYPE::hex_digits()<span class="keyword"> const </span>{
-<a name="l01027"></a>01027 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01028"></a>01028 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
-<a name="l01029"></a>01029 <span class="keywordflow">try</span> {
-<a name="l01030"></a>01030 <span class="keywordflow">return</span> data.hex_digits();
-<a name="l01031"></a>01031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01032"></a>01032 <span class="keywordflow">return</span> 0;
-<a name="l01033"></a>01033 }
-<a name="l01034"></a>01034 } <span class="keywordflow">else</span> {
-<a name="l01035"></a>01035 <span class="keywordflow">return</span> data.hex_digits();
-<a name="l01036"></a>01036 }
-<a name="l01037"></a>01037 }
-<a name="l01038"></a>01038
-<a name="l01052"></a>01052 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01053"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389">01053</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::pow2(<span class="keywordtype">size_t</span> exponent) {
-<a name="l01054"></a>01054 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01055"></a>01055 <span class="keywordflow">try</span> {
-<a name="l01056"></a>01056 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01057"></a>01057 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389" title="Calculate the value of 2e">detail::pow2</a>(r.data, exponent);
-<a name="l01058"></a>01058 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01059"></a>01059 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01060"></a>01060 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01061"></a>01061 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l01062"></a>01062 }
-<a name="l01063"></a>01063 } <span class="keywordflow">else</span> {
-<a name="l01064"></a>01064 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01065"></a>01065 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389" title="Calculate the value of 2e">detail::pow2</a>(r.data, exponent);
-<a name="l01066"></a>01066 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01067"></a>01067 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01068"></a>01068 }
-<a name="l01069"></a>01069 }
-<a name="l01070"></a>01070
-<a name="l01084"></a>01084 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01085"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d">01085</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::factorial(<span class="keywordtype">size_t</span> n) {
-<a name="l01086"></a>01086 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01087"></a>01087 <span class="keywordflow">try</span> {
-<a name="l01088"></a>01088 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01089"></a>01089 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d" title="Calculate the value of n! ">detail::factorial</a>(r.data, n);
-<a name="l01090"></a>01090 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01091"></a>01091 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01092"></a>01092 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01093"></a>01093 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l01094"></a>01094 }
-<a name="l01095"></a>01095 } <span class="keywordflow">else</span> {
-<a name="l01096"></a>01096 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01097"></a>01097 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d" title="Calculate the value of n! ">detail::factorial</a>(r.data, n);
-<a name="l01098"></a>01098 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01099"></a>01099 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01100"></a>01100 }
-<a name="l01101"></a>01101 }
-<a name="l01102"></a>01102
-<a name="l01116"></a>01116 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01117"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1">01117</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::nan() {
-<a name="l01118"></a>01118 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01119"></a>01119 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01120"></a>01120 r._data().make_nan();
-<a name="l01121"></a>01121 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01122"></a>01122 } <span class="keywordflow">else</span> {
-<a name="l01123"></a>01123 <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">exceptions::not_a_number</a>();
-<a name="l01124"></a>01124 }
-<a name="l01125"></a>01125 }
-<a name="l01126"></a>01126
-<a name="l01149"></a>01149 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01150"></a>01150 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;
-<a name="l01151"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2">01151</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::random_by_size(Type&amp; gen,
-<a name="l01152"></a>01152 <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span>
-<a name="l01153"></a>01153 can_be_negative)
-<a name="l01154"></a>01154 {
-<a name="l01155"></a>01155 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01156"></a>01156 <span class="keywordflow">try</span> {
-<a name="l01157"></a>01157 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2" title="Generates a random integer with specific attributes.">datatype::random_by_size</a>(gen, size_in_bits, high_bit_on,
-<a name="l01158"></a>01158 low_bit_on, can_be_negative);
-<a name="l01159"></a>01159 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01160"></a>01160 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l01161"></a>01161 }
-<a name="l01162"></a>01162 } <span class="keywordflow">else</span> {
-<a name="l01163"></a>01163 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2" title="Generates a random integer with specific attributes.">datatype::random_by_size</a>(gen, size_in_bits, high_bit_on,
-<a name="l01164"></a>01164 low_bit_on, can_be_negative);
-<a name="l01165"></a>01165 }
-<a name="l01166"></a>01166 }
-<a name="l01167"></a>01167
-<a name="l01195"></a>01195 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01196"></a>01196 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;
-<a name="l01197"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02">01197</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::random_prime(Type&amp; gen,
-<a name="l01198"></a>01198 <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback)
-<a name="l01199"></a>01199 {
-<a name="l01200"></a>01200 <span class="keywordflow">if</span> (Nothrow) {
-<a name="l01201"></a>01201 <span class="keywordflow">try</span> {
-<a name="l01202"></a>01202 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">datatype::random_prime</a>(gen, size_in_bits, callback);
-<a name="l01203"></a>01203 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01204"></a>01204 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
-<a name="l01205"></a>01205 }
-<a name="l01206"></a>01206 } <span class="keywordflow">else</span> {
-<a name="l01207"></a>01207 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">datatype::random_prime</a>(gen, size_in_bits, callback);
-<a name="l01208"></a>01208 }
-<a name="l01209"></a>01209 }
-<a name="l01210"></a>01210
-<a name="l01212"></a>01212 <span class="comment">// Free function template definitions</span>
-<a name="l01218"></a>01218 <span class="comment"></span>
-<a name="l01219"></a>01219
-<a name="l01228"></a>01228 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01229"></a><a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523">01229</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523" title="Returns the absolute value of an integer.">abs</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
-<a name="l01230"></a>01230 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01231"></a>01231 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01232"></a>01232 <span class="keywordflow">try</span> {
-<a name="l01233"></a>01233 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n._data().abs());
-<a name="l01234"></a>01234 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01235"></a>01235 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01236"></a>01236 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01237"></a>01237 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01238"></a>01238 }
-<a name="l01239"></a>01239 } <span class="keywordflow">else</span> {
-<a name="l01240"></a>01240 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n._data().abs());
-<a name="l01241"></a>01241 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01242"></a>01242 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01243"></a>01243 }
-<a name="l01244"></a>01244 }
-<a name="l01245"></a>01245
-<a name="l01264"></a>01264 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01265"></a><a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4">01265</a> <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">divide</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>
-<a name="l01266"></a>01266 dividend, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> divisor)
-<a name="l01267"></a>01267 {
-<a name="l01268"></a>01268 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01269"></a>01269 <span class="keywordflow">if</span> (dividend.is_nan() || divisor.is_nan()) <span class="keywordflow">return</span> <span class="keyword">typename</span>
-<a name="l01270"></a>01270 BOOST_XINT_INTEGER_TYPE::divide_t(BOOST_XINT_INTEGER_TYPE::nan(),
-<a name="l01271"></a>01271 BOOST_XINT_INTEGER_TYPE::nan());
-<a name="l01272"></a>01272 <span class="keywordflow">try</span> {
-<a name="l01273"></a>01273 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
-<a name="l01274"></a>01274 <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">detail::divide</a>(dividend._data(), divisor._data());
-<a name="l01275"></a>01275 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t r(rr.quotient,
-<a name="l01276"></a>01276 rr.remainder);
-<a name="l01277"></a>01277 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01278"></a>01278 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01279"></a>01279 <span class="keywordflow">return</span> <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t(
-<a name="l01280"></a>01280 BOOST_XINT_INTEGER_TYPE::nan(), BOOST_XINT_INTEGER_TYPE::nan());
-<a name="l01281"></a>01281 }
-<a name="l01282"></a>01282 } <span class="keywordflow">else</span> {
-<a name="l01283"></a>01283 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
-<a name="l01284"></a>01284 <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">detail::divide</a>(dividend._data(), divisor._data());
-<a name="l01285"></a>01285 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t r(rr.quotient, rr.remainder);
-<a name="l01286"></a>01286 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01287"></a>01287 }
-<a name="l01288"></a>01288 }
-<a name="l01290"></a>01290
-<a name="l01296"></a>01296
-<a name="l01297"></a>01297
-<a name="l01309"></a>01309 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01310"></a><a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424">01310</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">square</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
-<a name="l01311"></a>01311 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01312"></a>01312 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
-<a name="l01313"></a>01313 <span class="keywordflow">try</span> {
-<a name="l01314"></a>01314 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">detail::square</a>(n._data());
-<a name="l01315"></a>01315 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01316"></a>01316 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01317"></a>01317 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01318"></a>01318 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01319"></a>01319 }
-<a name="l01320"></a>01320 } <span class="keywordflow">else</span> {
-<a name="l01321"></a>01321 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">detail::square</a>(n._data());
-<a name="l01322"></a>01322 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01323"></a>01323 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01324"></a>01324 }
-<a name="l01325"></a>01325 }
-<a name="l01326"></a>01326
-<a name="l01335"></a>01335 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01336"></a><a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52">01336</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
-<a name="l01337"></a>01337 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> e)
-<a name="l01338"></a>01338 {
-<a name="l01339"></a>01339 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01340"></a>01340 <span class="keywordflow">if</span> (n.is_nan() || e.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01341"></a>01341 <span class="keywordflow">try</span> {
-<a name="l01342"></a>01342 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01343"></a>01343 <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(r._data(), n._data(), e._data());
-<a name="l01344"></a>01344 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01345"></a>01345 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01346"></a>01346 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01347"></a>01347 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01348"></a>01348 }
-<a name="l01349"></a>01349 } <span class="keywordflow">else</span> {
-<a name="l01350"></a>01350 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l01351"></a>01351 <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(r._data(), n._data(), e._data());
-<a name="l01352"></a>01352 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01353"></a>01353 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01354"></a>01354 }
-<a name="l01355"></a>01355 }
-<a name="l01356"></a>01356
-<a name="l01369"></a>01369 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01370"></a><a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2">01370</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
-<a name="l01371"></a>01371 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01372"></a>01372 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
-<a name="l01373"></a>01373 <span class="keywordflow">try</span> {
-<a name="l01374"></a>01374 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(n._data());
-<a name="l01375"></a>01375 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01376"></a>01376 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01377"></a>01377 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01378"></a>01378 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01379"></a>01379 }
-<a name="l01380"></a>01380 } <span class="keywordflow">else</span> {
-<a name="l01381"></a>01381 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(n._data());
-<a name="l01382"></a>01382 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01383"></a>01383 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01384"></a>01384 }
-<a name="l01385"></a>01385 }
-<a name="l01387"></a>01387
-<a name="l01393"></a>01393
-<a name="l01394"></a>01394
-<a name="l01407"></a>01407 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">class</span> A0, <span class="keyword">class</span> A1, <span class="keyword">class</span> A2, <span class="keyword">class</span> A3, <span class="keyword">class</span> A4&gt;
-<a name="l01408"></a><a class="code" href="namespaceboost_1_1xint.html#afd9d2c7743d11e6959d6cda44c8abf69">01408</a> T <a class="code" href="namespaceboost_1_1xint.html#afd9d2c7743d11e6959d6cda44c8abf69" title="Converts an xint::integer type to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
-<a name="l01409"></a>01409 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01410"></a>01410 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> T(0);
-<a name="l01411"></a>01411 <span class="keywordflow">try</span> {
-<a name="l01412"></a>01412 <span class="keywordflow">return</span> to&lt;T&gt;(n._data());
-<a name="l01413"></a>01413 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01414"></a>01414 <span class="keywordflow">return</span> T(0);
-<a name="l01415"></a>01415 }
-<a name="l01416"></a>01416 } <span class="keywordflow">else</span> {
-<a name="l01417"></a>01417 <span class="keywordflow">return</span> to&lt;T&gt;(n._data());
-<a name="l01418"></a>01418 }
-<a name="l01419"></a>01419 }
-<a name="l01420"></a>01420
-<a name="l01441"></a>01441 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01442"></a><a class="code" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2">01442</a> std::string <a class="code" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2" title="Creates a string representation of the specified integer.">to_string</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keywordtype">size_t</span> base = 10, <span class="keywordtype">bool</span>
-<a name="l01443"></a>01443 uppercase = <span class="keyword">false</span>)
-<a name="l01444"></a>01444 {
-<a name="l01445"></a>01445 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01446"></a>01446 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> detail::nan_text&lt;char&gt;();
-<a name="l01447"></a>01447 <span class="keywordflow">try</span> {
-<a name="l01448"></a>01448 <span class="keywordflow">return</span> to_string&lt;char&gt;(n._data(), base, uppercase);
-<a name="l01449"></a>01449 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01450"></a>01450 <span class="keywordflow">return</span> std::string();
-<a name="l01451"></a>01451 }
-<a name="l01452"></a>01452 } <span class="keywordflow">else</span> {
-<a name="l01453"></a>01453 <span class="keywordflow">return</span> to_string&lt;char&gt;(n._data(), base, uppercase);
-<a name="l01454"></a>01454 }
-<a name="l01455"></a>01455 }
-<a name="l01456"></a>01456
-<a name="l01478"></a>01478 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01479"></a><a class="code" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b">01479</a> std::wstring <a class="code" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b" title="Creates a wide-character string representation of the specified integer.">to_wstring</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keywordtype">size_t</span> base = 10, <span class="keywordtype">bool</span>
-<a name="l01480"></a>01480 uppercase = <span class="keyword">false</span>)
-<a name="l01481"></a>01481 {
-<a name="l01482"></a>01482 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01483"></a>01483 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> detail::nan_text&lt;wchar_t&gt;();
-<a name="l01484"></a>01484 <span class="keywordflow">try</span> {
-<a name="l01485"></a>01485 <span class="keywordflow">return</span> to_string&lt;wchar_t&gt;(n._data(), base, uppercase);
-<a name="l01486"></a>01486 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01487"></a>01487 <span class="keywordflow">return</span> std::wstring();
-<a name="l01488"></a>01488 }
-<a name="l01489"></a>01489 } <span class="keywordflow">else</span> {
-<a name="l01490"></a>01490 <span class="keywordflow">return</span> to_string&lt;wchar_t&gt;(n._data(), base, uppercase);
-<a name="l01491"></a>01491 }
-<a name="l01492"></a>01492 }
-<a name="l01493"></a>01493
-<a name="l01521"></a>01521 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01522"></a><a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">01522</a> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits = 0) {
-<a name="l01523"></a>01523 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01524"></a>01524 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a>();
-<a name="l01525"></a>01525 <span class="keywordflow">try</span> {
-<a name="l01526"></a>01526 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(n._data(), bits);
-<a name="l01527"></a>01527 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01528"></a>01528 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a>();
-<a name="l01529"></a>01529 }
-<a name="l01530"></a>01530 } <span class="keywordflow">else</span> {
-<a name="l01531"></a>01531 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(n._data(), bits);
-<a name="l01532"></a>01532 }
-<a name="l01533"></a>01533 }
-<a name="l01535"></a>01535
-<a name="l01538"></a>01538
-<a name="l01549"></a>01549 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01550"></a><a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba">01550</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
-<a name="l01551"></a>01551 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01552"></a>01552 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01553"></a>01553 <span class="keywordflow">try</span> {
-<a name="l01554"></a>01554 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(n._data(), bit);
-<a name="l01555"></a>01555 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01556"></a>01556 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01557"></a>01557 }
-<a name="l01558"></a>01558 } <span class="keywordflow">else</span> {
-<a name="l01559"></a>01559 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(n._data(), bit);
-<a name="l01560"></a>01560 }
-<a name="l01561"></a>01561 }
-<a name="l01562"></a>01562
-<a name="l01572"></a>01572 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01573"></a><a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921">01573</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
-<a name="l01574"></a>01574 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01575"></a>01575 <span class="keywordflow">if</span> (!n.is_nan()) {
-<a name="l01576"></a>01576 <span class="keywordflow">try</span> {
-<a name="l01577"></a>01577 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(n._data(), bit);
-<a name="l01578"></a>01578 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01579"></a>01579 <span class="comment">// Do nothing.</span>
-<a name="l01580"></a>01580 }
-<a name="l01581"></a>01581 }
-<a name="l01582"></a>01582 } <span class="keywordflow">else</span> {
-<a name="l01583"></a>01583 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(n._data(), bit);
-<a name="l01584"></a>01584 }
-<a name="l01585"></a>01585 }
-<a name="l01586"></a>01586
-<a name="l01596"></a>01596 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01597"></a><a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175">01597</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
-<a name="l01598"></a>01598 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01599"></a>01599 <span class="keywordflow">if</span> (!n.is_nan()) {
-<a name="l01600"></a>01600 <span class="keywordflow">try</span> {
-<a name="l01601"></a>01601 <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(n._data(), bit);
-<a name="l01602"></a>01602 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01603"></a>01603 <span class="comment">// Do nothing.</span>
-<a name="l01604"></a>01604 }
-<a name="l01605"></a>01605 }
-<a name="l01606"></a>01606 } <span class="keywordflow">else</span> {
-<a name="l01607"></a>01607 <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(n._data(), bit);
-<a name="l01608"></a>01608 }
-<a name="l01609"></a>01609 }
-<a name="l01610"></a>01610
-<a name="l01624"></a>01624 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01625"></a><a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4">01625</a> <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> return_if_zero =
-<a name="l01626"></a>01626 0)
-<a name="l01627"></a>01627 {
-<a name="l01628"></a>01628 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01629"></a>01629 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> return_if_zero;
-<a name="l01630"></a>01630 <span class="keywordflow">try</span> {
-<a name="l01631"></a>01631 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(n._data(), return_if_zero);
-<a name="l01632"></a>01632 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01633"></a>01633 <span class="keywordflow">return</span> return_if_zero;
-<a name="l01634"></a>01634 }
-<a name="l01635"></a>01635 } <span class="keywordflow">else</span> {
-<a name="l01636"></a>01636 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(n._data(), return_if_zero);
-<a name="l01637"></a>01637 }
-<a name="l01638"></a>01638 }
-<a name="l01639"></a>01639
-<a name="l01653"></a>01653 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01654"></a><a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0">01654</a> <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> return_if_zero =
-<a name="l01655"></a>01655 0)
-<a name="l01656"></a>01656 {
-<a name="l01657"></a>01657 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01658"></a>01658 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> return_if_zero;
-<a name="l01659"></a>01659 <span class="keywordflow">try</span> {
-<a name="l01660"></a>01660 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(n._data(), return_if_zero);
-<a name="l01661"></a>01661 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01662"></a>01662 <span class="keywordflow">return</span> return_if_zero;
-<a name="l01663"></a>01663 }
-<a name="l01664"></a>01664 } <span class="keywordflow">else</span> {
-<a name="l01665"></a>01665 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(n._data(), return_if_zero);
-<a name="l01666"></a>01666 }
-<a name="l01667"></a>01667 }
+<a name="l00974"></a>00974 } <span class="keywordflow">else</span> {
+<a name="l00975"></a>00975 <span class="keywordflow">return</span> data.is_even();
+<a name="l00976"></a>00976 }
+<a name="l00977"></a>00977 }
+<a name="l00978"></a>00978
+<a name="l00990"></a>00990 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l00991"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5">00991</a> <span class="keywordtype">bool</span> BOOST_XINT_INTEGER_TYPE::is_nan()<span class="keyword"> const </span>{
+<a name="l00992"></a>00992 <span class="keywordflow">return</span> data.is_nan();
+<a name="l00993"></a>00993 }
+<a name="l00994"></a>00994
+<a name="l01006"></a>01006 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01007"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3">01007</a> <span class="keywordtype">int</span> BOOST_XINT_INTEGER_TYPE::sign(<span class="keywordtype">bool</span> signed_zero)<span class="keyword"> const </span>{
+<a name="l01008"></a>01008 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01009"></a>01009 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
+<a name="l01010"></a>01010 <span class="keywordflow">try</span> {
+<a name="l01011"></a>01011 <span class="keywordflow">return</span> data.sign(signed_zero);
+<a name="l01012"></a>01012 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01013"></a>01013 <span class="keywordflow">return</span> 0;
+<a name="l01014"></a>01014 }
+<a name="l01015"></a>01015 } <span class="keywordflow">else</span> {
+<a name="l01016"></a>01016 <span class="keywordflow">return</span> data.sign(signed_zero);
+<a name="l01017"></a>01017 }
+<a name="l01018"></a>01018 }
+<a name="l01019"></a>01019
+<a name="l01027"></a>01027 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01028"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a6575f1fd58be6bf73145459b4b46afbb">01028</a> <span class="keywordtype">size_t</span> BOOST_XINT_INTEGER_TYPE::hex_digits()<span class="keyword"> const </span>{
+<a name="l01029"></a>01029 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01030"></a>01030 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1integer__t.html#a9afdf728b490f4fea0f6bd4805e96bd5" title="Tests whether the object is a Not-a-Number.">is_nan</a>()) <span class="keywordflow">return</span> 0;
+<a name="l01031"></a>01031 <span class="keywordflow">try</span> {
+<a name="l01032"></a>01032 <span class="keywordflow">return</span> data.hex_digits();
+<a name="l01033"></a>01033 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01034"></a>01034 <span class="keywordflow">return</span> 0;
+<a name="l01035"></a>01035 }
+<a name="l01036"></a>01036 } <span class="keywordflow">else</span> {
+<a name="l01037"></a>01037 <span class="keywordflow">return</span> data.hex_digits();
+<a name="l01038"></a>01038 }
+<a name="l01039"></a>01039 }
+<a name="l01040"></a>01040
+<a name="l01054"></a>01054 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01055"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76">01055</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::pow2(std::size_t exponent) {
+<a name="l01056"></a>01056 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01057"></a>01057 <span class="keywordflow">try</span> {
+<a name="l01058"></a>01058 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01059"></a>01059 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76" title="Calculate the value of 2e">detail::pow2</a>(r.data, exponent);
+<a name="l01060"></a>01060 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01061"></a>01061 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01062"></a>01062 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01063"></a>01063 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l01064"></a>01064 }
+<a name="l01065"></a>01065 } <span class="keywordflow">else</span> {
+<a name="l01066"></a>01066 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01067"></a>01067 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76" title="Calculate the value of 2e">detail::pow2</a>(r.data, exponent);
+<a name="l01068"></a>01068 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01069"></a>01069 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01070"></a>01070 }
+<a name="l01071"></a>01071 }
+<a name="l01072"></a>01072
+<a name="l01086"></a>01086 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01087"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0">01087</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::factorial(std::size_t n) {
+<a name="l01088"></a>01088 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01089"></a>01089 <span class="keywordflow">try</span> {
+<a name="l01090"></a>01090 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01091"></a>01091 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0" title="Calculate the value of n! ">detail::factorial</a>(r.data, n);
+<a name="l01092"></a>01092 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01093"></a>01093 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01094"></a>01094 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01095"></a>01095 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l01096"></a>01096 }
+<a name="l01097"></a>01097 } <span class="keywordflow">else</span> {
+<a name="l01098"></a>01098 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01099"></a>01099 <a class="code" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0" title="Calculate the value of n! ">detail::factorial</a>(r.data, n);
+<a name="l01100"></a>01100 <span class="keywordflow">if</span> (Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01101"></a>01101 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01102"></a>01102 }
+<a name="l01103"></a>01103 }
+<a name="l01104"></a>01104
+<a name="l01118"></a>01118 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01119"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1">01119</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::nan() {
+<a name="l01120"></a>01120 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01121"></a>01121 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01122"></a>01122 r._data().make_nan();
+<a name="l01123"></a>01123 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01124"></a>01124 } <span class="keywordflow">else</span> {
+<a name="l01125"></a>01125 <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1exceptions_1_1not__a__number.html">exceptions::not_a_number</a>();
+<a name="l01126"></a>01126 }
+<a name="l01127"></a>01127 }
+<a name="l01128"></a>01128
+<a name="l01151"></a>01151 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01152"></a>01152 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;
+<a name="l01153"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#a8826eb41c3e4ca9b6b4ec81ff61d9ba2">01153</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::random_by_size(Type&amp; gen,
+<a name="l01154"></a>01154 <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span>
+<a name="l01155"></a>01155 can_be_negative)
+<a name="l01156"></a>01156 {
+<a name="l01157"></a>01157 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01158"></a>01158 <span class="keywordflow">try</span> {
+<a name="l01159"></a>01159 <span class="keywordflow">return</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(datatype::random_by_size(gen,
+<a name="l01160"></a>01160 size_in_bits, high_bit_on, low_bit_on, can_be_negative));
+<a name="l01161"></a>01161 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01162"></a>01162 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l01163"></a>01163 }
+<a name="l01164"></a>01164 } <span class="keywordflow">else</span> {
+<a name="l01165"></a>01165 <span class="keywordflow">return</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(datatype::random_by_size(gen,
+<a name="l01166"></a>01166 size_in_bits, high_bit_on, low_bit_on, can_be_negative));
+<a name="l01167"></a>01167 }
+<a name="l01168"></a>01168 }
+<a name="l01169"></a>01169
+<a name="l01197"></a>01197 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01198"></a>01198 <span class="keyword">template</span> &lt;<span class="keyword">class</span> Type&gt;
+<a name="l01199"></a><a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02">01199</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> BOOST_XINT_INTEGER_TYPE::random_prime(Type&amp; gen,
+<a name="l01200"></a>01200 <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback)
+<a name="l01201"></a>01201 {
+<a name="l01202"></a>01202 <span class="keywordflow">if</span> (Nothrow) {
+<a name="l01203"></a>01203 <span class="keywordflow">try</span> {
+<a name="l01204"></a>01204 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">datatype::random_prime</a>(gen, size_in_bits, callback);
+<a name="l01205"></a>01205 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01206"></a>01206 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#a49eff434d2a1f0729d7757e6349fd2c1" title="Returns a Not-a-Number value, for types that support it.">nan</a>();
+<a name="l01207"></a>01207 }
+<a name="l01208"></a>01208 } <span class="keywordflow">else</span> {
+<a name="l01209"></a>01209 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html#adbbd33c6281a946db3608140bba62f02" title="Generate a randomly-generated prime number of a particular bit-size.">datatype::random_prime</a>(gen, size_in_bits, callback);
+<a name="l01210"></a>01210 }
+<a name="l01211"></a>01211 }
+<a name="l01212"></a>01212
+<a name="l01214"></a>01214 <span class="comment">// Free function template definitions</span>
+<a name="l01220"></a>01220 <span class="comment"></span>
+<a name="l01221"></a>01221
+<a name="l01230"></a>01230 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01231"></a><a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523">01231</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523" title="Returns the absolute value of an integer.">abs</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
+<a name="l01232"></a>01232 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01233"></a>01233 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01234"></a>01234 <span class="keywordflow">try</span> {
+<a name="l01235"></a>01235 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n._data().abs());
+<a name="l01236"></a>01236 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01237"></a>01237 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01238"></a>01238 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01239"></a>01239 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01240"></a>01240 }
+<a name="l01241"></a>01241 } <span class="keywordflow">else</span> {
+<a name="l01242"></a>01242 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n._data().abs());
+<a name="l01243"></a>01243 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01244"></a>01244 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01245"></a>01245 }
+<a name="l01246"></a>01246 }
+<a name="l01247"></a>01247
+<a name="l01266"></a>01266 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01267"></a><a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4">01267</a> <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">divide</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>
+<a name="l01268"></a>01268 dividend, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> divisor)
+<a name="l01269"></a>01269 {
+<a name="l01270"></a>01270 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01271"></a>01271 <span class="keywordflow">if</span> (dividend.is_nan() || divisor.is_nan()) <span class="keywordflow">return</span> <span class="keyword">typename</span>
+<a name="l01272"></a>01272 BOOST_XINT_INTEGER_TYPE::divide_t(BOOST_XINT_INTEGER_TYPE::nan(),
+<a name="l01273"></a>01273 BOOST_XINT_INTEGER_TYPE::nan());
+<a name="l01274"></a>01274 <span class="keywordflow">try</span> {
+<a name="l01275"></a>01275 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
+<a name="l01276"></a>01276 <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">detail::divide</a>(dividend._data(), divisor._data());
+<a name="l01277"></a>01277 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t
+<a name="l01278"></a>01278 r(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(rr.quotient),
+<a name="l01279"></a>01279 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(rr.remainder));
+<a name="l01280"></a>01280 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01281"></a>01281 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01282"></a>01282 <span class="keywordflow">return</span> <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t(
+<a name="l01283"></a>01283 BOOST_XINT_INTEGER_TYPE::nan(), BOOST_XINT_INTEGER_TYPE::nan());
+<a name="l01284"></a>01284 }
+<a name="l01285"></a>01285 } <span class="keywordflow">else</span> {
+<a name="l01286"></a>01286 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::datatype::divide_t rr =
+<a name="l01287"></a>01287 <a class="code" href="namespaceboost_1_1xint.html#a7d5e37941c1085e1cc1e513d9f1857b4" title="Calculate how many dividends would fit into divisor, with the remainder.">detail::divide</a>(dividend._data(), divisor._data());
+<a name="l01288"></a>01288 <span class="keyword">typename</span> BOOST_XINT_INTEGER_TYPE::divide_t
+<a name="l01289"></a>01289 r(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(rr.quotient),
+<a name="l01290"></a>01290 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>(rr.remainder));
+<a name="l01291"></a>01291 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01292"></a>01292 }
+<a name="l01293"></a>01293 }
+<a name="l01295"></a>01295
+<a name="l01301"></a>01301
+<a name="l01302"></a>01302
+<a name="l01314"></a>01314 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01315"></a><a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424">01315</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">square</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
+<a name="l01316"></a>01316 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01317"></a>01317 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
+<a name="l01318"></a>01318 <span class="keywordflow">try</span> {
+<a name="l01319"></a>01319 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">detail::square</a>(n._data()));
+<a name="l01320"></a>01320 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01321"></a>01321 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01322"></a>01322 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01323"></a>01323 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01324"></a>01324 }
+<a name="l01325"></a>01325 } <span class="keywordflow">else</span> {
+<a name="l01326"></a>01326 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">detail::square</a>(n._data()));
+<a name="l01327"></a>01327 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01328"></a>01328 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01329"></a>01329 }
+<a name="l01330"></a>01330 }
+<a name="l01331"></a>01331
+<a name="l01340"></a>01340 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01341"></a><a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52">01341</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
+<a name="l01342"></a>01342 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> e)
+<a name="l01343"></a>01343 {
+<a name="l01344"></a>01344 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01345"></a>01345 <span class="keywordflow">if</span> (n.is_nan() || e.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01346"></a>01346 <span class="keywordflow">try</span> {
+<a name="l01347"></a>01347 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01348"></a>01348 <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(r._data(), n._data(), e._data());
+<a name="l01349"></a>01349 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01350"></a>01350 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01351"></a>01351 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01352"></a>01352 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01353"></a>01353 }
+<a name="l01354"></a>01354 } <span class="keywordflow">else</span> {
+<a name="l01355"></a>01355 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l01356"></a>01356 <a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>(r._data(), n._data(), e._data());
+<a name="l01357"></a>01357 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01358"></a>01358 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01359"></a>01359 }
+<a name="l01360"></a>01360 }
+<a name="l01361"></a>01361
+<a name="l01374"></a>01374 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01375"></a><a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2">01375</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
+<a name="l01376"></a>01376 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01377"></a>01377 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
+<a name="l01378"></a>01378 <span class="keywordflow">try</span> {
+<a name="l01379"></a>01379 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(n._data()));
+<a name="l01380"></a>01380 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01381"></a>01381 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01382"></a>01382 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01383"></a>01383 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01384"></a>01384 }
+<a name="l01385"></a>01385 } <span class="keywordflow">else</span> {
+<a name="l01386"></a>01386 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#adb652fa006fd8ed34993ea86cf317cb2" title="Calculate the square root of an integer.">square_root</a>(n._data()));
+<a name="l01387"></a>01387 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01388"></a>01388 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01389"></a>01389 }
+<a name="l01390"></a>01390 }
+<a name="l01392"></a>01392
+<a name="l01398"></a>01398
+<a name="l01399"></a>01399
+<a name="l01412"></a>01412 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">class</span> A0, <span class="keyword">class</span> A1, <span class="keyword">class</span> A2, <span class="keyword">class</span> A3, <span class="keyword">class</span> A4&gt;
+<a name="l01413"></a><a class="code" href="namespaceboost_1_1xint.html#afd9d2c7743d11e6959d6cda44c8abf69">01413</a> T <a class="code" href="namespaceboost_1_1xint.html#afd9d2c7743d11e6959d6cda44c8abf69" title="Converts an xint::integer type to a built-in integer type.">to</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
+<a name="l01414"></a>01414 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01415"></a>01415 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> T(0);
+<a name="l01416"></a>01416 <span class="keywordflow">try</span> {
+<a name="l01417"></a>01417 <span class="keywordflow">return</span> to&lt;T&gt;(n._data());
+<a name="l01418"></a>01418 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01419"></a>01419 <span class="keywordflow">return</span> T(0);
+<a name="l01420"></a>01420 }
+<a name="l01421"></a>01421 } <span class="keywordflow">else</span> {
+<a name="l01422"></a>01422 <span class="keywordflow">return</span> to&lt;T&gt;(n._data());
+<a name="l01423"></a>01423 }
+<a name="l01424"></a>01424 }
+<a name="l01425"></a>01425
+<a name="l01448"></a>01448 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">class</span> A0, <span class="keyword">class</span> A1, <span class="keyword">class</span> A2, <span class="keyword">class</span> A3, <span class="keyword">class</span> A4&gt;
+<a name="l01449"></a><a class="code" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">01449</a> std::basic_string&lt;charT&gt; <a class="code" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e" title="Creates a string representation of the specified integer.">to_stringtype</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n,
+<a name="l01450"></a>01450 std::size_t base = 10, <span class="keywordtype">bool</span> uppercase = <span class="keyword">false</span>)
+<a name="l01451"></a>01451 {
+<a name="l01452"></a>01452 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01453"></a>01453 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> detail::nan_text&lt;charT&gt;();
+<a name="l01454"></a>01454 <span class="keywordflow">try</span> {
+<a name="l01455"></a>01455 <span class="keywordflow">return</span> detail::to_string&lt;charT&gt;(n._data(), base, uppercase);
+<a name="l01456"></a>01456 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01457"></a>01457 <span class="keywordflow">return</span> std::basic_string&lt;charT&gt;();
+<a name="l01458"></a>01458 }
+<a name="l01459"></a>01459 } <span class="keywordflow">else</span> {
+<a name="l01460"></a>01460 <span class="keywordflow">return</span> detail::to_string&lt;charT&gt;(n._data(), base, uppercase);
+<a name="l01461"></a>01461 }
+<a name="l01462"></a>01462 }
+<a name="l01463"></a>01463
+<a name="l01467"></a>01467 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01468"></a><a class="code" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c">01468</a> std::string <a class="code" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c" title="A shorthand function that calls to_stringtype&amp;lt;char&amp;gt;.">to_string</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, std::size_t base = 10,
+<a name="l01469"></a>01469 <span class="keywordtype">bool</span> uppercase = <span class="keyword">false</span>)
+<a name="l01470"></a>01470 {
+<a name="l01471"></a>01471 <span class="keywordflow">return</span> to_stringtype&lt;char&gt;(n, base, uppercase);
+<a name="l01472"></a>01472 }
+<a name="l01473"></a>01473
+<a name="l01477"></a>01477 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01478"></a><a class="code" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27">01478</a> std::wstring <a class="code" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27" title="A shorthand function that calls to_stringtype&amp;lt;wchar_t&amp;gt;.">to_wstring</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, std::size_t base = 10,
+<a name="l01479"></a>01479 <span class="keywordtype">bool</span> uppercase = <span class="keyword">false</span>)
+<a name="l01480"></a>01480 {
+<a name="l01481"></a>01481 <span class="keywordflow">return</span> to_stringtype&lt;wchar_t&gt;(n, base, uppercase);
+<a name="l01482"></a>01482 }
+<a name="l01483"></a>01483
+<a name="l01511"></a>01511 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01512"></a><a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">01512</a> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits = 0) {
+<a name="l01513"></a>01513 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01514"></a>01514 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a>();
+<a name="l01515"></a>01515 <span class="keywordflow">try</span> {
+<a name="l01516"></a>01516 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(n._data(), bits);
+<a name="l01517"></a>01517 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01518"></a>01518 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a>();
+<a name="l01519"></a>01519 }
+<a name="l01520"></a>01520 } <span class="keywordflow">else</span> {
+<a name="l01521"></a>01521 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40" title="Creates a binary representation of an integer.">to_binary</a>(n._data(), bits);
+<a name="l01522"></a>01522 }
+<a name="l01523"></a>01523 }
+<a name="l01525"></a>01525
+<a name="l01528"></a>01528
+<a name="l01539"></a>01539 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01540"></a><a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba">01540</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
+<a name="l01541"></a>01541 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01542"></a>01542 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01543"></a>01543 <span class="keywordflow">try</span> {
+<a name="l01544"></a>01544 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(n._data(), bit);
+<a name="l01545"></a>01545 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01546"></a>01546 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01547"></a>01547 }
+<a name="l01548"></a>01548 } <span class="keywordflow">else</span> {
+<a name="l01549"></a>01549 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba" title="Queries the value of a particular bit in an integer.">getbit</a>(n._data(), bit);
+<a name="l01550"></a>01550 }
+<a name="l01551"></a>01551 }
+<a name="l01552"></a>01552
+<a name="l01562"></a>01562 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01563"></a><a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921">01563</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
+<a name="l01564"></a>01564 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01565"></a>01565 <span class="keywordflow">if</span> (!n.is_nan()) {
+<a name="l01566"></a>01566 <span class="keywordflow">try</span> {
+<a name="l01567"></a>01567 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(n._data(), bit);
+<a name="l01568"></a>01568 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01569"></a>01569 <span class="comment">// Do nothing.</span>
+<a name="l01570"></a>01570 }
+<a name="l01571"></a>01571 }
+<a name="l01572"></a>01572 } <span class="keywordflow">else</span> {
+<a name="l01573"></a>01573 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(n._data(), bit);
+<a name="l01574"></a>01574 }
+<a name="l01575"></a>01575 }
+<a name="l01576"></a>01576
+<a name="l01586"></a>01586 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01587"></a><a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175">01587</a> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bit) {
+<a name="l01588"></a>01588 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01589"></a>01589 <span class="keywordflow">if</span> (!n.is_nan()) {
+<a name="l01590"></a>01590 <span class="keywordflow">try</span> {
+<a name="l01591"></a>01591 <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(n._data(), bit);
+<a name="l01592"></a>01592 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01593"></a>01593 <span class="comment">// Do nothing.</span>
+<a name="l01594"></a>01594 }
+<a name="l01595"></a>01595 }
+<a name="l01596"></a>01596 } <span class="keywordflow">else</span> {
+<a name="l01597"></a>01597 <a class="code" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175" title="Sets a specific bit in an integer to zero.">clearbit</a>(n._data(), bit);
+<a name="l01598"></a>01598 }
+<a name="l01599"></a>01599 }
+<a name="l01600"></a>01600
+<a name="l01614"></a>01614 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01615"></a><a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4">01615</a> <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> return_if_zero =
+<a name="l01616"></a>01616 0)
+<a name="l01617"></a>01617 {
+<a name="l01618"></a>01618 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01619"></a>01619 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> return_if_zero;
+<a name="l01620"></a>01620 <span class="keywordflow">try</span> {
+<a name="l01621"></a>01621 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(n._data(), return_if_zero);
+<a name="l01622"></a>01622 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01623"></a>01623 <span class="keywordflow">return</span> return_if_zero;
+<a name="l01624"></a>01624 }
+<a name="l01625"></a>01625 } <span class="keywordflow">else</span> {
+<a name="l01626"></a>01626 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(n._data(), return_if_zero);
+<a name="l01627"></a>01627 }
+<a name="l01628"></a>01628 }
+<a name="l01629"></a>01629
+<a name="l01643"></a>01643 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01644"></a><a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0">01644</a> <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> return_if_zero =
+<a name="l01645"></a>01645 0)
+<a name="l01646"></a>01646 {
+<a name="l01647"></a>01647 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01648"></a>01648 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> return_if_zero;
+<a name="l01649"></a>01649 <span class="keywordflow">try</span> {
+<a name="l01650"></a>01650 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(n._data(), return_if_zero);
+<a name="l01651"></a>01651 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01652"></a>01652 <span class="keywordflow">return</span> return_if_zero;
+<a name="l01653"></a>01653 }
+<a name="l01654"></a>01654 } <span class="keywordflow">else</span> {
+<a name="l01655"></a>01655 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(n._data(), return_if_zero);
+<a name="l01656"></a>01656 }
+<a name="l01657"></a>01657 }
+<a name="l01659"></a>01659
+<a name="l01668"></a>01668
 <a name="l01669"></a>01669
-<a name="l01678"></a>01678
-<a name="l01679"></a>01679
-<a name="l01694"></a>01694 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01695"></a><a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564">01695</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
-<a name="l01696"></a>01696 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> by, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
-<a name="l01697"></a>01697 {
-<a name="l01698"></a>01698 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01699"></a>01699 <span class="keywordflow">if</span> (n.is_nan() || by.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
-<a name="l01700"></a>01700 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01701"></a>01701 <span class="keywordflow">try</span> {
-<a name="l01702"></a>01702 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(n._data(), by._data(),
-<a name="l01703"></a>01703 modulus._data());
-<a name="l01704"></a>01704 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01705"></a>01705 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01706"></a>01706 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01707"></a>01707 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01708"></a>01708 }
-<a name="l01709"></a>01709 } <span class="keywordflow">else</span> {
-<a name="l01710"></a>01710 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(n._data(), by._data(),
-<a name="l01711"></a>01711 modulus._data());
-<a name="l01712"></a>01712 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01713"></a>01713 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01714"></a>01714 }
-<a name="l01715"></a>01715 }
-<a name="l01716"></a>01716
-<a name="l01731"></a>01731 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01732"></a><a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877">01732</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
-<a name="l01733"></a>01733 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
-<a name="l01734"></a>01734 {
-<a name="l01735"></a>01735 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01736"></a>01736 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
-<a name="l01737"></a>01737 <span class="keywordflow">try</span> {
-<a name="l01738"></a>01738 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(n._data(), modulus._data());
-<a name="l01739"></a>01739 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01740"></a>01740 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01741"></a>01741 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01742"></a>01742 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01743"></a>01743 }
-<a name="l01744"></a>01744 } <span class="keywordflow">else</span> {
-<a name="l01745"></a>01745 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(n._data(), modulus._data());
-<a name="l01746"></a>01746 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01747"></a>01747 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01748"></a>01748 }
-<a name="l01749"></a>01749 }
-<a name="l01750"></a>01750
-<a name="l01774"></a>01774 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01775"></a><a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0">01775</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
-<a name="l01776"></a>01776 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> exponent, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus,
-<a name="l01777"></a>01777 <span class="keywordtype">bool</span> no_monty = <span class="keyword">false</span>)
-<a name="l01778"></a>01778 {
-<a name="l01779"></a>01779 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01780"></a>01780 <span class="keywordflow">if</span> (n.is_nan() || exponent.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
-<a name="l01781"></a>01781 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01782"></a>01782 <span class="keywordflow">try</span> {
-<a name="l01783"></a>01783 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(n._data(), exponent._data(),
-<a name="l01784"></a>01784 modulus._data(), no_monty);
-<a name="l01785"></a>01785 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01786"></a>01786 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01787"></a>01787 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01788"></a>01788 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01789"></a>01789 }
-<a name="l01790"></a>01790 } <span class="keywordflow">else</span> {
-<a name="l01791"></a>01791 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(n._data(), exponent._data(),
-<a name="l01792"></a>01792 modulus._data(), no_monty);
-<a name="l01793"></a>01793 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01794"></a>01794 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01795"></a>01795 }
-<a name="l01796"></a>01796 }
-<a name="l01797"></a>01797
-<a name="l01810"></a>01810 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01811"></a><a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad">01811</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
-<a name="l01812"></a>01812 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
-<a name="l01813"></a>01813 {
-<a name="l01814"></a>01814 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01815"></a>01815 <span class="keywordflow">if</span> (n.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
-<a name="l01816"></a>01816 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01817"></a>01817 <span class="keywordflow">try</span> {
-<a name="l01818"></a>01818 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(n._data(), modulus._data());
-<a name="l01819"></a>01819 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01820"></a>01820 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01821"></a>01821 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01822"></a>01822 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01823"></a>01823 }
-<a name="l01824"></a>01824 } <span class="keywordflow">else</span> {
-<a name="l01825"></a>01825 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(n._data(), modulus._data());
-<a name="l01826"></a>01826 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l01827"></a>01827 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l01828"></a>01828 }
-<a name="l01829"></a>01829 }
-<a name="l01831"></a>01831
-<a name="l01837"></a>01837
-<a name="l01838"></a>01838
-<a name="l01863"></a>01863 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01864"></a><a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4">01864</a> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>)
-<a name="l01865"></a>01865 {
-<a name="l01866"></a>01866 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01867"></a>01867 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> -2;
-<a name="l01868"></a>01868 <span class="keywordflow">try</span> {
-<a name="l01869"></a>01869 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(n._data(), callback);
-<a name="l01870"></a>01870 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01871"></a>01871 <span class="keywordflow">return</span> -2;
-<a name="l01872"></a>01872 }
-<a name="l01873"></a>01873 } <span class="keywordflow">else</span> {
-<a name="l01874"></a>01874 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(n._data(), callback);
-<a name="l01875"></a>01875 }
-<a name="l01876"></a>01876 }
-<a name="l01878"></a>01878
-<a name="l01886"></a>01886
-<a name="l01887"></a><a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">01887</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01888"></a>01888 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01889"></a>01889 {
-<a name="l01890"></a>01890 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01891"></a>01891 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01892"></a>01892 <span class="keywordflow">try</span> {
-<a name="l01893"></a>01893 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(n1._data(), n2._data());
-<a name="l01894"></a>01894 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01895"></a>01895 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01896"></a>01896 }
-<a name="l01897"></a>01897 } <span class="keywordflow">else</span> {
-<a name="l01898"></a>01898 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(n1._data(), n2._data());
-<a name="l01899"></a>01899 }
-<a name="l01900"></a>01900 }
-<a name="l01901"></a>01901
-<a name="l01902"></a><a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">01902</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01903"></a>01903 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01904"></a>01904 {
-<a name="l01905"></a>01905 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01906"></a>01906 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01907"></a>01907 <span class="keywordflow">try</span> {
-<a name="l01908"></a>01908 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(n1._data(), n2._data());
-<a name="l01909"></a>01909 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01910"></a>01910 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01911"></a>01911 }
-<a name="l01912"></a>01912 } <span class="keywordflow">else</span> {
-<a name="l01913"></a>01913 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(n1._data(), n2._data());
-<a name="l01914"></a>01914 }
-<a name="l01915"></a>01915 }
-<a name="l01916"></a>01916
-<a name="l01917"></a><a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">01917</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01918"></a>01918 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01919"></a>01919 {
-<a name="l01920"></a>01920 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01921"></a>01921 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01922"></a>01922 <span class="keywordflow">try</span> {
-<a name="l01923"></a>01923 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(n1._data(), n2._data());
-<a name="l01924"></a>01924 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01925"></a>01925 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01926"></a>01926 }
-<a name="l01927"></a>01927 } <span class="keywordflow">else</span> {
-<a name="l01928"></a>01928 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(n1._data(), n2._data());
-<a name="l01929"></a>01929 }
-<a name="l01930"></a>01930 }
-<a name="l01931"></a>01931
-<a name="l01932"></a><a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">01932</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01933"></a>01933 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01934"></a>01934 {
-<a name="l01935"></a>01935 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01936"></a>01936 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01937"></a>01937 <span class="keywordflow">try</span> {
-<a name="l01938"></a>01938 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(n1._data(), n2._data());
-<a name="l01939"></a>01939 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01940"></a>01940 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01941"></a>01941 }
-<a name="l01942"></a>01942 } <span class="keywordflow">else</span> {
-<a name="l01943"></a>01943 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(n1._data(), n2._data());
-<a name="l01944"></a>01944 }
-<a name="l01945"></a>01945 }
-<a name="l01946"></a>01946
-<a name="l01947"></a><a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">01947</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01948"></a>01948 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01949"></a>01949 {
-<a name="l01950"></a>01950 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01951"></a>01951 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01952"></a>01952 <span class="keywordflow">try</span> {
-<a name="l01953"></a>01953 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(n1._data(), n2._data());
-<a name="l01954"></a>01954 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01955"></a>01955 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01956"></a>01956 }
-<a name="l01957"></a>01957 } <span class="keywordflow">else</span> {
-<a name="l01958"></a>01958 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(n1._data(), n2._data());
-<a name="l01959"></a>01959 }
-<a name="l01960"></a>01960 }
-<a name="l01961"></a>01961
-<a name="l01962"></a><a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">01962</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01963"></a>01963 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01964"></a>01964 {
-<a name="l01965"></a>01965 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01966"></a>01966 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01967"></a>01967 <span class="keywordflow">try</span> {
-<a name="l01968"></a>01968 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(n1._data(), n2._data());
-<a name="l01969"></a>01969 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l01970"></a>01970 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l01971"></a>01971 }
-<a name="l01972"></a>01972 } <span class="keywordflow">else</span> {
-<a name="l01973"></a>01973 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(n1._data(), n2._data());
-<a name="l01974"></a>01974 }
-<a name="l01975"></a>01975 }
-<a name="l01977"></a>01977
-<a name="l01982"></a>01982
-<a name="l01983"></a>01983
-<a name="l01992"></a>01992 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l01993"></a><a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915">01993</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l01994"></a>01994 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l01995"></a>01995 {
-<a name="l01996"></a>01996 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l01997"></a>01997 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l01998"></a>01998 <span class="keywordflow">try</span> {
-<a name="l01999"></a>01999 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() + n2._data());
-<a name="l02000"></a>02000 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02001"></a>02001 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02002"></a>02002 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02003"></a>02003 }
-<a name="l02004"></a>02004 } <span class="keywordflow">else</span> {
-<a name="l02005"></a>02005 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() + n2._data());
-<a name="l02006"></a>02006 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02007"></a>02007 }
-<a name="l02008"></a>02008 }
-<a name="l02009"></a>02009
-<a name="l02018"></a>02018 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02019"></a><a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27">02019</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">operator-</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02020"></a>02020 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02021"></a>02021 {
-<a name="l02022"></a>02022 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02023"></a>02023 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02024"></a>02024 <span class="keywordflow">try</span> {
-<a name="l02025"></a>02025 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() - n2._data());
-<a name="l02026"></a>02026 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02027"></a>02027 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02028"></a>02028 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02029"></a>02029 }
-<a name="l02030"></a>02030 } <span class="keywordflow">else</span> {
-<a name="l02031"></a>02031 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() - n2._data());
-<a name="l02032"></a>02032 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02033"></a>02033 }
-<a name="l02034"></a>02034 }
-<a name="l02035"></a>02035
-<a name="l02048"></a>02048 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02049"></a><a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455">02049</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455" title="Calculate the product of two integers.">operator*</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02050"></a>02050 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02051"></a>02051 {
-<a name="l02052"></a>02052 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02053"></a>02053 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02054"></a>02054 <span class="keywordflow">try</span> {
-<a name="l02055"></a>02055 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() * n2._data());
-<a name="l02056"></a>02056 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02057"></a>02057 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02058"></a>02058 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02059"></a>02059 }
-<a name="l02060"></a>02060 } <span class="keywordflow">else</span> {
-<a name="l02061"></a>02061 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() * n2._data());
-<a name="l02062"></a>02062 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02063"></a>02063 }
-<a name="l02064"></a>02064 }
-<a name="l02065"></a>02065
-<a name="l02076"></a>02076 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02077"></a><a class="code" href="namespaceboost_1_1xint.html#a800dca196da627207b63fccd3c132c21">02077</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a800dca196da627207b63fccd3c132c21" title="Calculate how many dividends would fit into divisor.">operator/</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> dividend, <span class="keyword">const</span>
-<a name="l02078"></a>02078 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> divisor)
-<a name="l02079"></a>02079 {
-<a name="l02080"></a>02080 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02081"></a>02081 <span class="keywordflow">if</span> (dividend.is_nan() || divisor.is_nan()) <span class="keywordflow">return</span>
-<a name="l02082"></a>02082 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02083"></a>02083 <span class="keywordflow">try</span> {
-<a name="l02084"></a>02084 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(dividend._data() / divisor._data());
-<a name="l02085"></a>02085 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02086"></a>02086 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02087"></a>02087 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02088"></a>02088 }
-<a name="l02089"></a>02089 } <span class="keywordflow">else</span> {
-<a name="l02090"></a>02090 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(dividend._data() / divisor._data());
-<a name="l02091"></a>02091 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02092"></a>02092 }
-<a name="l02093"></a>02093 }
-<a name="l02094"></a>02094
-<a name="l02104"></a>02104 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02105"></a><a class="code" href="namespaceboost_1_1xint.html#aac56e280afa13284381f144a208eaf67">02105</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#aac56e280afa13284381f144a208eaf67" title="Get the remainder after dividing a number by another.">operator%</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02106"></a>02106 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02107"></a>02107 {
-<a name="l02108"></a>02108 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02109"></a>02109 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02110"></a>02110 <span class="keywordflow">try</span> {
-<a name="l02111"></a>02111 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() % n2._data());
-<a name="l02112"></a>02112 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02113"></a>02113 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02114"></a>02114 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02115"></a>02115 }
-<a name="l02116"></a>02116 } <span class="keywordflow">else</span> {
-<a name="l02117"></a>02117 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() % n2._data());
-<a name="l02118"></a>02118 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02119"></a>02119 }
-<a name="l02120"></a>02120 }
-<a name="l02121"></a>02121
-<a name="l02131"></a>02131 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02132"></a><a class="code" href="namespaceboost_1_1xint.html#a356d6efa380af7ee2c2f6f0a83e7c9a3">02132</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a356d6efa380af7ee2c2f6f0a83e7c9a3" title="Combine two integers using a bitwise AND operation.">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02133"></a>02133 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02134"></a>02134 {
-<a name="l02135"></a>02135 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02136"></a>02136 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02137"></a>02137 <span class="keywordflow">try</span> {
-<a name="l02138"></a>02138 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() &amp; n2._data());
-<a name="l02139"></a>02139 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02140"></a>02140 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02141"></a>02141 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02142"></a>02142 }
-<a name="l02143"></a>02143 } <span class="keywordflow">else</span> {
-<a name="l02144"></a>02144 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() &amp; n2._data());
-<a name="l02145"></a>02145 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02146"></a>02146 }
-<a name="l02147"></a>02147 }
-<a name="l02148"></a>02148
-<a name="l02158"></a>02158 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02159"></a><a class="code" href="namespaceboost_1_1xint.html#aa8537f29fb1ade411f79084ffe170075">02159</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#aa8537f29fb1ade411f79084ffe170075" title="Combine two integers using a bitwise OR operation.">operator|</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02160"></a>02160 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02161"></a>02161 {
-<a name="l02162"></a>02162 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02163"></a>02163 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02164"></a>02164 <span class="keywordflow">try</span> {
-<a name="l02165"></a>02165 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() | n2._data());
-<a name="l02166"></a>02166 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02167"></a>02167 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02168"></a>02168 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02169"></a>02169 }
-<a name="l02170"></a>02170 } <span class="keywordflow">else</span> {
-<a name="l02171"></a>02171 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() | n2._data());
-<a name="l02172"></a>02172 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02173"></a>02173 }
-<a name="l02174"></a>02174 }
-<a name="l02175"></a>02175
-<a name="l02185"></a>02185 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02186"></a><a class="code" href="namespaceboost_1_1xint.html#a73c999d0550a46b24272e07f1720b025">02186</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a73c999d0550a46b24272e07f1720b025" title="Combine two integers using a bitwise XOR operation.">operator^</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
-<a name="l02187"></a>02187 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
-<a name="l02188"></a>02188 {
-<a name="l02189"></a>02189 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02190"></a>02190 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02191"></a>02191 <span class="keywordflow">try</span> {
-<a name="l02192"></a>02192 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() ^ n2._data());
-<a name="l02193"></a>02193 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02194"></a>02194 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02195"></a>02195 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02196"></a>02196 }
-<a name="l02197"></a>02197 } <span class="keywordflow">else</span> {
-<a name="l02198"></a>02198 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() ^ n2._data());
-<a name="l02199"></a>02199 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02200"></a>02200 }
-<a name="l02201"></a>02201 }
-<a name="l02203"></a>02203
-<a name="l02206"></a>02206
-<a name="l02216"></a>02216 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02217"></a><a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e">02217</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num1, <span class="keyword">const</span>
-<a name="l02218"></a>02218 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num2)
-<a name="l02219"></a>02219 {
-<a name="l02220"></a>02220 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02221"></a>02221 <span class="keywordflow">if</span> (num1.is_nan() || num2.is_nan()) <span class="keywordflow">return</span>
-<a name="l02222"></a>02222 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02223"></a>02223 <span class="keywordflow">try</span> {
-<a name="l02224"></a>02224 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l02225"></a>02225 <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(r._data(), num1._data(), num2._data());
-<a name="l02226"></a>02226 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l02227"></a>02227 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02228"></a>02228 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02229"></a>02229 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02230"></a>02230 }
-<a name="l02231"></a>02231 } <span class="keywordflow">else</span> {
-<a name="l02232"></a>02232 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l02233"></a>02233 <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(r._data(), num1._data(), num2._data());
-<a name="l02234"></a>02234 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l02235"></a>02235 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02236"></a>02236 }
-<a name="l02237"></a>02237 }
-<a name="l02238"></a>02238
-<a name="l02249"></a>02249 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02250"></a><a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4">02250</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num1, <span class="keyword">const</span>
-<a name="l02251"></a>02251 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num2)
-<a name="l02252"></a>02252 {
-<a name="l02253"></a>02253 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02254"></a>02254 <span class="keywordflow">if</span> (num1.is_nan() || num2.is_nan()) <span class="keywordflow">return</span>
-<a name="l02255"></a>02255 BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02256"></a>02256 <span class="keywordflow">try</span> {
-<a name="l02257"></a>02257 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l02258"></a>02258 <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(r._data(), num1._data(), num2._data());
-<a name="l02259"></a>02259 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l02260"></a>02260 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02261"></a>02261 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02262"></a>02262 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
-<a name="l02263"></a>02263 }
-<a name="l02264"></a>02264 } <span class="keywordflow">else</span> {
-<a name="l02265"></a>02265 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
-<a name="l02266"></a>02266 <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(r._data(), num1._data(), num2._data());
-<a name="l02267"></a>02267 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
-<a name="l02268"></a>02268 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
-<a name="l02269"></a>02269 }
-<a name="l02270"></a>02270 }
-<a name="l02271"></a>02271
-<a name="l02284"></a>02284 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02285"></a><a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0">02285</a> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2,
-<a name="l02286"></a>02286 <span class="keywordtype">bool</span> ignoresign = <span class="keyword">false</span>)
-<a name="l02287"></a>02287 {
-<a name="l02288"></a>02288 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02289"></a>02289 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> 2;
-<a name="l02290"></a>02290 <span class="keywordflow">try</span> {
-<a name="l02291"></a>02291 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(n1._data(), n2._data(), ignoresign);
-<a name="l02292"></a>02292 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02293"></a>02293 <span class="keywordflow">return</span> 2;
-<a name="l02294"></a>02294 }
-<a name="l02295"></a>02295 } <span class="keywordflow">else</span> {
-<a name="l02296"></a>02296 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(n1._data(), n2._data(), ignoresign);
-<a name="l02297"></a>02297 }
-<a name="l02298"></a>02298 }
-<a name="l02299"></a>02299
-<a name="l02316"></a>02316 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02317"></a><a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18">02317</a> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
-<a name="l02318"></a>02318 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02319"></a>02319 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> 0;
-<a name="l02320"></a>02320 <span class="keywordflow">try</span> {
-<a name="l02321"></a>02321 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n._data());
-<a name="l02322"></a>02322 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l02323"></a>02323 <span class="keywordflow">return</span> 0;
-<a name="l02324"></a>02324 }
-<a name="l02325"></a>02325 } <span class="keywordflow">else</span> {
-<a name="l02326"></a>02326 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n._data());
-<a name="l02327"></a>02327 }
-<a name="l02328"></a>02328 }
-<a name="l02330"></a>02330
-<a name="l02332"></a><a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd">02332</a> <span class="preprocessor">#define BOOST_XINT_ANY_COMPARE(rtype, op) \</span>
-<a name="l02333"></a>02333 <span class="preprocessor"> template &lt;class A0, class A1, class A2, class A3, class A4, typename N&gt; \</span>
-<a name="l02334"></a>02334 <span class="preprocessor"> rtype op(const BOOST_XINT_INTEGER_TYPE n1, const N n2) { \</span>
-<a name="l02335"></a>02335 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
-<a name="l02336"></a>02336 <span class="preprocessor"> try { \</span>
-<a name="l02337"></a>02337 <span class="preprocessor"> return op(n1, BOOST_XINT_INTEGER_TYPE(n2)); \</span>
-<a name="l02338"></a>02338 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
-<a name="l02339"></a>02339 <span class="preprocessor"> return rtype(0); \</span>
-<a name="l02340"></a>02340 <span class="preprocessor"> } \</span>
-<a name="l02341"></a>02341 <span class="preprocessor"> } else { \</span>
-<a name="l02342"></a>02342 <span class="preprocessor"> return op(n1, BOOST_XINT_INTEGER_TYPE(n2)); \</span>
-<a name="l02343"></a>02343 <span class="preprocessor"> } \</span>
-<a name="l02344"></a>02344 <span class="preprocessor"> } \</span>
-<a name="l02345"></a>02345 <span class="preprocessor"> \</span>
-<a name="l02346"></a>02346 <span class="preprocessor"> template &lt;typename N, class A0, class A1, class A2, class A3, class A4&gt; \</span>
-<a name="l02347"></a>02347 <span class="preprocessor"> rtype op(const N n1, const BOOST_XINT_INTEGER_TYPE n2) { \</span>
-<a name="l02348"></a>02348 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
-<a name="l02349"></a>02349 <span class="preprocessor"> try { \</span>
-<a name="l02350"></a>02350 <span class="preprocessor"> return op(BOOST_XINT_INTEGER_TYPE(n1), n2); \</span>
-<a name="l02351"></a>02351 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
-<a name="l02352"></a>02352 <span class="preprocessor"> return rtype(0); \</span>
-<a name="l02353"></a>02353 <span class="preprocessor"> } \</span>
-<a name="l02354"></a>02354 <span class="preprocessor"> } else { \</span>
-<a name="l02355"></a>02355 <span class="preprocessor"> return op(BOOST_XINT_INTEGER_TYPE(n1), n2); \</span>
-<a name="l02356"></a>02356 <span class="preprocessor"> } \</span>
-<a name="l02357"></a>02357 <span class="preprocessor"> }</span>
-<a name="l02358"></a>02358 <span class="preprocessor"></span>
-<a name="l02359"></a>02359 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, <span class="keyword">operator</span>&lt;)
-<a name="l02360"></a>02360 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&gt;)
-<a name="l02361"></a>02361 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&lt;=)
-<a name="l02362"></a>02362 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&gt;=)
-<a name="l02363"></a>02363 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator==)
-<a name="l02364"></a>02364 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator!=)
-<a name="l02365"></a>02365 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">int</span>, <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>)
-<a name="l02366"></a>02366
-<a name="l02368"></a><a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090">02368</a> <span class="preprocessor">#define BOOST_XINT_ANY_MATH(op) \</span>
-<a name="l02369"></a>02369 <span class="preprocessor"> template &lt;class A0, class A1, class A2, class A3, class A4, typename N&gt; \</span>
-<a name="l02370"></a>02370 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE op(const BOOST_XINT_INTEGER_TYPE n1, const N n2) { \</span>
-<a name="l02371"></a>02371 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
-<a name="l02372"></a>02372 <span class="preprocessor"> try { \</span>
-<a name="l02373"></a>02373 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(n1, BOOST_XINT_INTEGER_TYPE(n2)));\</span>
-<a name="l02374"></a>02374 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
-<a name="l02375"></a>02375 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
-<a name="l02376"></a>02376 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
-<a name="l02377"></a>02377 <span class="preprocessor"> return BOOST_XINT_INTEGER_TYPE::nan(); \</span>
-<a name="l02378"></a>02378 <span class="preprocessor"> } \</span>
-<a name="l02379"></a>02379 <span class="preprocessor"> } else { \</span>
-<a name="l02380"></a>02380 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(n1, BOOST_XINT_INTEGER_TYPE(n2))); \</span>
-<a name="l02381"></a>02381 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
-<a name="l02382"></a>02382 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
-<a name="l02383"></a>02383 <span class="preprocessor"> } \</span>
-<a name="l02384"></a>02384 <span class="preprocessor"> } \</span>
-<a name="l02385"></a>02385 <span class="preprocessor"> \</span>
-<a name="l02386"></a>02386 <span class="preprocessor"> template &lt;typename N, class A0, class A1, class A2, class A3, class A4&gt; \</span>
-<a name="l02387"></a>02387 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE op(const N n1, const BOOST_XINT_INTEGER_TYPE n2) { \</span>
-<a name="l02388"></a>02388 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
-<a name="l02389"></a>02389 <span class="preprocessor"> try { \</span>
-<a name="l02390"></a>02390 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(BOOST_XINT_INTEGER_TYPE(n1), n2));\</span>
-<a name="l02391"></a>02391 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
-<a name="l02392"></a>02392 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
-<a name="l02393"></a>02393 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
-<a name="l02394"></a>02394 <span class="preprocessor"> return BOOST_XINT_INTEGER_TYPE::nan(); \</span>
-<a name="l02395"></a>02395 <span class="preprocessor"> } \</span>
-<a name="l02396"></a>02396 <span class="preprocessor"> } else { \</span>
-<a name="l02397"></a>02397 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(BOOST_XINT_INTEGER_TYPE(n1), n2)); \</span>
-<a name="l02398"></a>02398 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
-<a name="l02399"></a>02399 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
-<a name="l02400"></a>02400 <span class="preprocessor"> } \</span>
-<a name="l02401"></a>02401 <span class="preprocessor"> }</span>
-<a name="l02402"></a>02402 <span class="preprocessor"></span>
-<a name="l02403"></a>02403 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>)
-<a name="l02404"></a>02404 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>)
-<a name="l02405"></a>02405 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>)
-<a name="l02406"></a>02406 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>)
-<a name="l02407"></a>02407 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>)
-<a name="l02408"></a>02408 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator+)
-<a name="l02409"></a>02409 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator-)
-<a name="l02410"></a>02410 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator*)
-<a name="l02411"></a>02411 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator/)
-<a name="l02412"></a>02412 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator%)
-<a name="l02413"></a>02413 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator&amp;)
-<a name="l02414"></a>02414 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator|)
-<a name="l02415"></a>02415 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator^)
-<a name="l02416"></a>02416 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>)
-<a name="l02417"></a>02417 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>)
-<a name="l02418"></a>02418
-<a name="l02421"></a>02421 template &lt;typename charT, typename traits, class A0, class A1, class A2, class
-<a name="l02422"></a>02422 A3, class A4&gt; inline std::basic_ostream&lt;charT,traits&gt;&amp;
-<a name="l02423"></a><a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">02423</a> operator&lt;&lt;(std::basic_ostream&lt;charT, traits&gt;&amp; out, const
-<a name="l02424"></a>02424 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
+<a name="l01684"></a>01684 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01685"></a><a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564">01685</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
+<a name="l01686"></a>01686 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> by, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
+<a name="l01687"></a>01687 {
+<a name="l01688"></a>01688 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01689"></a>01689 <span class="keywordflow">if</span> (n.is_nan() || by.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
+<a name="l01690"></a>01690 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01691"></a>01691 <span class="keywordflow">try</span> {
+<a name="l01692"></a>01692 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(n._data(), by._data(),
+<a name="l01693"></a>01693 modulus._data()));
+<a name="l01694"></a>01694 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01695"></a>01695 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01696"></a>01696 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01697"></a>01697 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01698"></a>01698 }
+<a name="l01699"></a>01699 } <span class="keywordflow">else</span> {
+<a name="l01700"></a>01700 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>(n._data(), by._data(),
+<a name="l01701"></a>01701 modulus._data()));
+<a name="l01702"></a>01702 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01703"></a>01703 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01704"></a>01704 }
+<a name="l01705"></a>01705 }
+<a name="l01706"></a>01706
+<a name="l01721"></a>01721 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01722"></a><a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877">01722</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
+<a name="l01723"></a>01723 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
+<a name="l01724"></a>01724 {
+<a name="l01725"></a>01725 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01726"></a>01726 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> n;
+<a name="l01727"></a>01727 <span class="keywordflow">try</span> {
+<a name="l01728"></a>01728 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(n._data(), modulus._data());
+<a name="l01729"></a>01729 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01730"></a>01730 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01731"></a>01731 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01732"></a>01732 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01733"></a>01733 }
+<a name="l01734"></a>01734 } <span class="keywordflow">else</span> {
+<a name="l01735"></a>01735 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r = <a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>(n._data(), modulus._data());
+<a name="l01736"></a>01736 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01737"></a>01737 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01738"></a>01738 }
+<a name="l01739"></a>01739 }
+<a name="l01740"></a>01740
+<a name="l01764"></a>01764 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01765"></a><a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0">01765</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
+<a name="l01766"></a>01766 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> exponent, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus,
+<a name="l01767"></a>01767 <span class="keywordtype">bool</span> no_monty = <span class="keyword">false</span>)
+<a name="l01768"></a>01768 {
+<a name="l01769"></a>01769 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01770"></a>01770 <span class="keywordflow">if</span> (n.is_nan() || exponent.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
+<a name="l01771"></a>01771 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01772"></a>01772 <span class="keywordflow">try</span> {
+<a name="l01773"></a>01773 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(n._data(), exponent._data(),
+<a name="l01774"></a>01774 modulus._data(), no_monty));
+<a name="l01775"></a>01775 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01776"></a>01776 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01777"></a>01777 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01778"></a>01778 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01779"></a>01779 }
+<a name="l01780"></a>01780 } <span class="keywordflow">else</span> {
+<a name="l01781"></a>01781 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>(n._data(), exponent._data(),
+<a name="l01782"></a>01782 modulus._data(), no_monty));
+<a name="l01783"></a>01783 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01784"></a>01784 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01785"></a>01785 }
+<a name="l01786"></a>01786 }
+<a name="l01787"></a>01787
+<a name="l01800"></a>01800 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01801"></a><a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad">01801</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <span class="keyword">const</span>
+<a name="l01802"></a>01802 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> modulus)
+<a name="l01803"></a>01803 {
+<a name="l01804"></a>01804 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01805"></a>01805 <span class="keywordflow">if</span> (n.is_nan() || modulus.is_nan()) <span class="keywordflow">return</span>
+<a name="l01806"></a>01806 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01807"></a>01807 <span class="keywordflow">try</span> {
+<a name="l01808"></a>01808 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(n._data(), modulus._data()));
+<a name="l01809"></a>01809 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01810"></a>01810 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01811"></a>01811 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01812"></a>01812 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01813"></a>01813 }
+<a name="l01814"></a>01814 } <span class="keywordflow">else</span> {
+<a name="l01815"></a>01815 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(<a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>(n._data(), modulus._data()));
+<a name="l01816"></a>01816 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l01817"></a>01817 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01818"></a>01818 }
+<a name="l01819"></a>01819 }
+<a name="l01821"></a>01821
+<a name="l01827"></a>01827
+<a name="l01828"></a>01828
+<a name="l01853"></a>01853 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01854"></a><a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4">01854</a> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>)
+<a name="l01855"></a>01855 {
+<a name="l01856"></a>01856 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01857"></a>01857 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> -2;
+<a name="l01858"></a>01858 <span class="keywordflow">try</span> {
+<a name="l01859"></a>01859 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(n._data(), callback);
+<a name="l01860"></a>01860 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01861"></a>01861 <span class="keywordflow">return</span> -2;
+<a name="l01862"></a>01862 }
+<a name="l01863"></a>01863 } <span class="keywordflow">else</span> {
+<a name="l01864"></a>01864 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a089d98ffc4599122209d1a3c1c7c39d4" title="Tests an integer for primality.">is_prime</a>(n._data(), callback);
+<a name="l01865"></a>01865 }
+<a name="l01866"></a>01866 }
+<a name="l01868"></a>01868
+<a name="l01876"></a>01876
+<a name="l01877"></a><a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">01877</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01878"></a>01878 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01879"></a>01879 {
+<a name="l01880"></a>01880 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01881"></a>01881 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01882"></a>01882 <span class="keywordflow">try</span> {
+<a name="l01883"></a>01883 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(n1._data(), n2._data());
+<a name="l01884"></a>01884 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01885"></a>01885 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01886"></a>01886 }
+<a name="l01887"></a>01887 } <span class="keywordflow">else</span> {
+<a name="l01888"></a>01888 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a0a987fd73c7c0844f9ed4fdabf0f27e4">operator&lt;</a>(n1._data(), n2._data());
+<a name="l01889"></a>01889 }
+<a name="l01890"></a>01890 }
+<a name="l01891"></a>01891
+<a name="l01892"></a><a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">01892</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01893"></a>01893 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01894"></a>01894 {
+<a name="l01895"></a>01895 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01896"></a>01896 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01897"></a>01897 <span class="keywordflow">try</span> {
+<a name="l01898"></a>01898 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(n1._data(), n2._data());
+<a name="l01899"></a>01899 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01900"></a>01900 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01901"></a>01901 }
+<a name="l01902"></a>01902 } <span class="keywordflow">else</span> {
+<a name="l01903"></a>01903 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#af5c2bc8d95f42e9442c113d22614ac2d">operator&gt;</a>(n1._data(), n2._data());
+<a name="l01904"></a>01904 }
+<a name="l01905"></a>01905 }
+<a name="l01906"></a>01906
+<a name="l01907"></a><a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">01907</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01908"></a>01908 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01909"></a>01909 {
+<a name="l01910"></a>01910 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01911"></a>01911 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01912"></a>01912 <span class="keywordflow">try</span> {
+<a name="l01913"></a>01913 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(n1._data(), n2._data());
+<a name="l01914"></a>01914 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01915"></a>01915 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01916"></a>01916 }
+<a name="l01917"></a>01917 } <span class="keywordflow">else</span> {
+<a name="l01918"></a>01918 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a9b01e116d91ad2d7d9f13138a1182d1d">operator&lt;=</a>(n1._data(), n2._data());
+<a name="l01919"></a>01919 }
+<a name="l01920"></a>01920 }
+<a name="l01921"></a>01921
+<a name="l01922"></a><a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">01922</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01923"></a>01923 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01924"></a>01924 {
+<a name="l01925"></a>01925 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01926"></a>01926 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01927"></a>01927 <span class="keywordflow">try</span> {
+<a name="l01928"></a>01928 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(n1._data(), n2._data());
+<a name="l01929"></a>01929 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01930"></a>01930 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01931"></a>01931 }
+<a name="l01932"></a>01932 } <span class="keywordflow">else</span> {
+<a name="l01933"></a>01933 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad4fd77e8ed2e76028c3ae554bfc564f7">operator&gt;=</a>(n1._data(), n2._data());
+<a name="l01934"></a>01934 }
+<a name="l01935"></a>01935 }
+<a name="l01936"></a>01936
+<a name="l01937"></a><a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">01937</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01938"></a>01938 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01939"></a>01939 {
+<a name="l01940"></a>01940 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01941"></a>01941 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01942"></a>01942 <span class="keywordflow">try</span> {
+<a name="l01943"></a>01943 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(n1._data(), n2._data());
+<a name="l01944"></a>01944 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01945"></a>01945 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01946"></a>01946 }
+<a name="l01947"></a>01947 } <span class="keywordflow">else</span> {
+<a name="l01948"></a>01948 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aa753a8fb37b38da8293fec1c9bb09711">operator==</a>(n1._data(), n2._data());
+<a name="l01949"></a>01949 }
+<a name="l01950"></a>01950 }
+<a name="l01951"></a>01951
+<a name="l01952"></a><a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">01952</a> <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01953"></a>01953 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01954"></a>01954 {
+<a name="l01955"></a>01955 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01956"></a>01956 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01957"></a>01957 <span class="keywordflow">try</span> {
+<a name="l01958"></a>01958 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(n1._data(), n2._data());
+<a name="l01959"></a>01959 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01960"></a>01960 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01961"></a>01961 }
+<a name="l01962"></a>01962 } <span class="keywordflow">else</span> {
+<a name="l01963"></a>01963 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac6bf18fab19873cc55142b26ce11fda4">operator!=</a>(n1._data(), n2._data());
+<a name="l01964"></a>01964 }
+<a name="l01965"></a>01965 }
+<a name="l01967"></a>01967
+<a name="l01972"></a>01972
+<a name="l01973"></a>01973
+<a name="l01982"></a>01982 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l01983"></a><a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915">01983</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l01984"></a>01984 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l01985"></a>01985 {
+<a name="l01986"></a>01986 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l01987"></a>01987 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01988"></a>01988 <span class="keywordflow">try</span> {
+<a name="l01989"></a>01989 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() + n2._data());
+<a name="l01990"></a>01990 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01991"></a>01991 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l01992"></a>01992 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l01993"></a>01993 }
+<a name="l01994"></a>01994 } <span class="keywordflow">else</span> {
+<a name="l01995"></a>01995 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() + n2._data());
+<a name="l01996"></a>01996 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l01997"></a>01997 }
+<a name="l01998"></a>01998 }
+<a name="l01999"></a>01999
+<a name="l02008"></a>02008 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02009"></a><a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27">02009</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">operator-</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02010"></a>02010 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02011"></a>02011 {
+<a name="l02012"></a>02012 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02013"></a>02013 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02014"></a>02014 <span class="keywordflow">try</span> {
+<a name="l02015"></a>02015 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() - n2._data());
+<a name="l02016"></a>02016 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02017"></a>02017 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02018"></a>02018 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02019"></a>02019 }
+<a name="l02020"></a>02020 } <span class="keywordflow">else</span> {
+<a name="l02021"></a>02021 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() - n2._data());
+<a name="l02022"></a>02022 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02023"></a>02023 }
+<a name="l02024"></a>02024 }
+<a name="l02025"></a>02025
+<a name="l02038"></a>02038 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02039"></a><a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455">02039</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455" title="Calculate the product of two integers.">operator*</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02040"></a>02040 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02041"></a>02041 {
+<a name="l02042"></a>02042 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02043"></a>02043 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02044"></a>02044 <span class="keywordflow">try</span> {
+<a name="l02045"></a>02045 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() * n2._data());
+<a name="l02046"></a>02046 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02047"></a>02047 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02048"></a>02048 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02049"></a>02049 }
+<a name="l02050"></a>02050 } <span class="keywordflow">else</span> {
+<a name="l02051"></a>02051 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() * n2._data());
+<a name="l02052"></a>02052 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02053"></a>02053 }
+<a name="l02054"></a>02054 }
+<a name="l02055"></a>02055
+<a name="l02066"></a>02066 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02067"></a><a class="code" href="namespaceboost_1_1xint.html#a800dca196da627207b63fccd3c132c21">02067</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a800dca196da627207b63fccd3c132c21" title="Calculate how many dividends would fit into divisor.">operator/</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> dividend, <span class="keyword">const</span>
+<a name="l02068"></a>02068 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> divisor)
+<a name="l02069"></a>02069 {
+<a name="l02070"></a>02070 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02071"></a>02071 <span class="keywordflow">if</span> (dividend.is_nan() || divisor.is_nan()) <span class="keywordflow">return</span>
+<a name="l02072"></a>02072 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02073"></a>02073 <span class="keywordflow">try</span> {
+<a name="l02074"></a>02074 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(dividend._data() / divisor._data());
+<a name="l02075"></a>02075 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02076"></a>02076 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02077"></a>02077 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02078"></a>02078 }
+<a name="l02079"></a>02079 } <span class="keywordflow">else</span> {
+<a name="l02080"></a>02080 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(dividend._data() / divisor._data());
+<a name="l02081"></a>02081 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02082"></a>02082 }
+<a name="l02083"></a>02083 }
+<a name="l02084"></a>02084
+<a name="l02094"></a>02094 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02095"></a><a class="code" href="namespaceboost_1_1xint.html#aac56e280afa13284381f144a208eaf67">02095</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#aac56e280afa13284381f144a208eaf67" title="Get the remainder after dividing a number by another.">operator%</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02096"></a>02096 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02097"></a>02097 {
+<a name="l02098"></a>02098 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02099"></a>02099 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02100"></a>02100 <span class="keywordflow">try</span> {
+<a name="l02101"></a>02101 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() % n2._data());
+<a name="l02102"></a>02102 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02103"></a>02103 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02104"></a>02104 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02105"></a>02105 }
+<a name="l02106"></a>02106 } <span class="keywordflow">else</span> {
+<a name="l02107"></a>02107 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() % n2._data());
+<a name="l02108"></a>02108 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02109"></a>02109 }
+<a name="l02110"></a>02110 }
+<a name="l02111"></a>02111
+<a name="l02121"></a>02121 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02122"></a><a class="code" href="namespaceboost_1_1xint.html#a356d6efa380af7ee2c2f6f0a83e7c9a3">02122</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a356d6efa380af7ee2c2f6f0a83e7c9a3" title="Combine two integers using a bitwise AND operation.">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02123"></a>02123 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02124"></a>02124 {
+<a name="l02125"></a>02125 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02126"></a>02126 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02127"></a>02127 <span class="keywordflow">try</span> {
+<a name="l02128"></a>02128 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() &amp; n2._data());
+<a name="l02129"></a>02129 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02130"></a>02130 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02131"></a>02131 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02132"></a>02132 }
+<a name="l02133"></a>02133 } <span class="keywordflow">else</span> {
+<a name="l02134"></a>02134 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() &amp; n2._data());
+<a name="l02135"></a>02135 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02136"></a>02136 }
+<a name="l02137"></a>02137 }
+<a name="l02138"></a>02138
+<a name="l02148"></a>02148 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02149"></a><a class="code" href="namespaceboost_1_1xint.html#aa8537f29fb1ade411f79084ffe170075">02149</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#aa8537f29fb1ade411f79084ffe170075" title="Combine two integers using a bitwise OR operation.">operator|</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02150"></a>02150 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02151"></a>02151 {
+<a name="l02152"></a>02152 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02153"></a>02153 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02154"></a>02154 <span class="keywordflow">try</span> {
+<a name="l02155"></a>02155 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() | n2._data());
+<a name="l02156"></a>02156 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02157"></a>02157 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02158"></a>02158 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02159"></a>02159 }
+<a name="l02160"></a>02160 } <span class="keywordflow">else</span> {
+<a name="l02161"></a>02161 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() | n2._data());
+<a name="l02162"></a>02162 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02163"></a>02163 }
+<a name="l02164"></a>02164 }
+<a name="l02165"></a>02165
+<a name="l02175"></a>02175 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02176"></a><a class="code" href="namespaceboost_1_1xint.html#a73c999d0550a46b24272e07f1720b025">02176</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a73c999d0550a46b24272e07f1720b025" title="Combine two integers using a bitwise XOR operation.">operator^</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span>
+<a name="l02177"></a>02177 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2)
+<a name="l02178"></a>02178 {
+<a name="l02179"></a>02179 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02180"></a>02180 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02181"></a>02181 <span class="keywordflow">try</span> {
+<a name="l02182"></a>02182 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() ^ n2._data());
+<a name="l02183"></a>02183 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02184"></a>02184 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02185"></a>02185 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02186"></a>02186 }
+<a name="l02187"></a>02187 } <span class="keywordflow">else</span> {
+<a name="l02188"></a>02188 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r(n1._data() ^ n2._data());
+<a name="l02189"></a>02189 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02190"></a>02190 }
+<a name="l02191"></a>02191 }
+<a name="l02193"></a>02193
+<a name="l02196"></a>02196
+<a name="l02206"></a>02206 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02207"></a><a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e">02207</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num1, <span class="keyword">const</span>
+<a name="l02208"></a>02208 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num2)
+<a name="l02209"></a>02209 {
+<a name="l02210"></a>02210 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02211"></a>02211 <span class="keywordflow">if</span> (num1.is_nan() || num2.is_nan()) <span class="keywordflow">return</span>
+<a name="l02212"></a>02212 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02213"></a>02213 <span class="keywordflow">try</span> {
+<a name="l02214"></a>02214 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l02215"></a>02215 <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(r._data(), num1._data(), num2._data());
+<a name="l02216"></a>02216 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l02217"></a>02217 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02218"></a>02218 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02219"></a>02219 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02220"></a>02220 }
+<a name="l02221"></a>02221 } <span class="keywordflow">else</span> {
+<a name="l02222"></a>02222 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l02223"></a>02223 <a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>(r._data(), num1._data(), num2._data());
+<a name="l02224"></a>02224 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l02225"></a>02225 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02226"></a>02226 }
+<a name="l02227"></a>02227 }
+<a name="l02228"></a>02228
+<a name="l02239"></a>02239 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02240"></a><a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4">02240</a> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num1, <span class="keyword">const</span>
+<a name="l02241"></a>02241 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> num2)
+<a name="l02242"></a>02242 {
+<a name="l02243"></a>02243 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02244"></a>02244 <span class="keywordflow">if</span> (num1.is_nan() || num2.is_nan()) <span class="keywordflow">return</span>
+<a name="l02245"></a>02245 BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02246"></a>02246 <span class="keywordflow">try</span> {
+<a name="l02247"></a>02247 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l02248"></a>02248 <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(r._data(), num1._data(), num2._data());
+<a name="l02249"></a>02249 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l02250"></a>02250 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02251"></a>02251 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02252"></a>02252 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPE::nan();
+<a name="l02253"></a>02253 }
+<a name="l02254"></a>02254 } <span class="keywordflow">else</span> {
+<a name="l02255"></a>02255 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> r;
+<a name="l02256"></a>02256 <a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>(r._data(), num1._data(), num2._data());
+<a name="l02257"></a>02257 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Threadsafe == <span class="keyword">true</span>) r._make_unique();
+<a name="l02258"></a>02258 <span class="keywordflow">return</span> <a class="code" href="basic__types__and__includes_8hpp.html#a73c3b02410381da656b7cb59c7ba9314">BOOST_XINT_MOVE</a>(r);
+<a name="l02259"></a>02259 }
+<a name="l02260"></a>02260 }
+<a name="l02261"></a>02261
+<a name="l02274"></a>02274 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02275"></a><a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0">02275</a> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n1, <span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n2,
+<a name="l02276"></a>02276 <span class="keywordtype">bool</span> ignoresign = <span class="keyword">false</span>)
+<a name="l02277"></a>02277 {
+<a name="l02278"></a>02278 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02279"></a>02279 <span class="keywordflow">if</span> (n1.is_nan() || n2.is_nan()) <span class="keywordflow">return</span> 2;
+<a name="l02280"></a>02280 <span class="keywordflow">try</span> {
+<a name="l02281"></a>02281 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(n1._data(), n2._data(), ignoresign);
+<a name="l02282"></a>02282 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02283"></a>02283 <span class="keywordflow">return</span> 2;
+<a name="l02284"></a>02284 }
+<a name="l02285"></a>02285 } <span class="keywordflow">else</span> {
+<a name="l02286"></a>02286 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>(n1._data(), n2._data(), ignoresign);
+<a name="l02287"></a>02287 }
+<a name="l02288"></a>02288 }
+<a name="l02289"></a>02289
+<a name="l02306"></a>02306 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02307"></a><a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18">02307</a> <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n) {
+<a name="l02308"></a>02308 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02309"></a>02309 <span class="keywordflow">if</span> (n.is_nan()) <span class="keywordflow">return</span> 0;
+<a name="l02310"></a>02310 <span class="keywordflow">try</span> {
+<a name="l02311"></a>02311 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n._data());
+<a name="l02312"></a>02312 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l02313"></a>02313 <span class="keywordflow">return</span> 0;
+<a name="l02314"></a>02314 }
+<a name="l02315"></a>02315 } <span class="keywordflow">else</span> {
+<a name="l02316"></a>02316 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n._data());
+<a name="l02317"></a>02317 }
+<a name="l02318"></a>02318 }
+<a name="l02320"></a>02320
+<a name="l02322"></a><a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd">02322</a> <span class="preprocessor">#define BOOST_XINT_ANY_COMPARE(rtype, op) \</span>
+<a name="l02323"></a>02323 <span class="preprocessor"> template &lt;class A0, class A1, class A2, class A3, class A4, typename N&gt; \</span>
+<a name="l02324"></a>02324 <span class="preprocessor"> rtype op(const BOOST_XINT_INTEGER_TYPE n1, const N n2) { \</span>
+<a name="l02325"></a>02325 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
+<a name="l02326"></a>02326 <span class="preprocessor"> try { \</span>
+<a name="l02327"></a>02327 <span class="preprocessor"> return op(n1, BOOST_XINT_INTEGER_TYPE(n2)); \</span>
+<a name="l02328"></a>02328 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
+<a name="l02329"></a>02329 <span class="preprocessor"> return rtype(0); \</span>
+<a name="l02330"></a>02330 <span class="preprocessor"> } \</span>
+<a name="l02331"></a>02331 <span class="preprocessor"> } else { \</span>
+<a name="l02332"></a>02332 <span class="preprocessor"> return op(n1, BOOST_XINT_INTEGER_TYPE(n2)); \</span>
+<a name="l02333"></a>02333 <span class="preprocessor"> } \</span>
+<a name="l02334"></a>02334 <span class="preprocessor"> } \</span>
+<a name="l02335"></a>02335 <span class="preprocessor"> \</span>
+<a name="l02336"></a>02336 <span class="preprocessor"> template &lt;typename N, class A0, class A1, class A2, class A3, class A4&gt; \</span>
+<a name="l02337"></a>02337 <span class="preprocessor"> rtype op(const N n1, const BOOST_XINT_INTEGER_TYPE n2) { \</span>
+<a name="l02338"></a>02338 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
+<a name="l02339"></a>02339 <span class="preprocessor"> try { \</span>
+<a name="l02340"></a>02340 <span class="preprocessor"> return op(BOOST_XINT_INTEGER_TYPE(n1), n2); \</span>
+<a name="l02341"></a>02341 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
+<a name="l02342"></a>02342 <span class="preprocessor"> return rtype(0); \</span>
+<a name="l02343"></a>02343 <span class="preprocessor"> } \</span>
+<a name="l02344"></a>02344 <span class="preprocessor"> } else { \</span>
+<a name="l02345"></a>02345 <span class="preprocessor"> return op(BOOST_XINT_INTEGER_TYPE(n1), n2); \</span>
+<a name="l02346"></a>02346 <span class="preprocessor"> } \</span>
+<a name="l02347"></a>02347 <span class="preprocessor"> }</span>
+<a name="l02348"></a>02348 <span class="preprocessor"></span>
+<a name="l02349"></a>02349 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, <span class="keyword">operator</span>&lt;)
+<a name="l02350"></a>02350 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&gt;)
+<a name="l02351"></a>02351 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&lt;=)
+<a name="l02352"></a>02352 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator&gt;=)
+<a name="l02353"></a>02353 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator==)
+<a name="l02354"></a>02354 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">bool</span>, operator!=)
+<a name="l02355"></a>02355 <a class="code" href="integer_8hpp.html#a0d448137aa53fae5fcb6f49444348cbd" title="Allows for comparisons between integer_t types and other integral values.">BOOST_XINT_ANY_COMPARE</a>(<span class="keywordtype">int</span>, <a class="code" href="namespaceboost_1_1xint.html#a740189c9646dcda553f1bd9de200cdd0" title="Compare two integer objects.">compare</a>)
+<a name="l02356"></a>02356
+<a name="l02358"></a><a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090">02358</a> <span class="preprocessor">#define BOOST_XINT_ANY_MATH(op) \</span>
+<a name="l02359"></a>02359 <span class="preprocessor"> template &lt;class A0, class A1, class A2, class A3, class A4, typename N&gt; \</span>
+<a name="l02360"></a>02360 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE op(const BOOST_XINT_INTEGER_TYPE n1, const N n2) { \</span>
+<a name="l02361"></a>02361 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
+<a name="l02362"></a>02362 <span class="preprocessor"> try { \</span>
+<a name="l02363"></a>02363 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(n1, BOOST_XINT_INTEGER_TYPE(n2)));\</span>
+<a name="l02364"></a>02364 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
+<a name="l02365"></a>02365 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l02366"></a>02366 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
+<a name="l02367"></a>02367 <span class="preprocessor"> return BOOST_XINT_INTEGER_TYPE::nan(); \</span>
+<a name="l02368"></a>02368 <span class="preprocessor"> } \</span>
+<a name="l02369"></a>02369 <span class="preprocessor"> } else { \</span>
+<a name="l02370"></a>02370 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(n1, BOOST_XINT_INTEGER_TYPE(n2))); \</span>
+<a name="l02371"></a>02371 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
+<a name="l02372"></a>02372 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l02373"></a>02373 <span class="preprocessor"> } \</span>
+<a name="l02374"></a>02374 <span class="preprocessor"> } \</span>
+<a name="l02375"></a>02375 <span class="preprocessor"> \</span>
+<a name="l02376"></a>02376 <span class="preprocessor"> template &lt;typename N, class A0, class A1, class A2, class A3, class A4&gt; \</span>
+<a name="l02377"></a>02377 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE op(const N n1, const BOOST_XINT_INTEGER_TYPE n2) { \</span>
+<a name="l02378"></a>02378 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Nothrow) { \</span>
+<a name="l02379"></a>02379 <span class="preprocessor"> try { \</span>
+<a name="l02380"></a>02380 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(BOOST_XINT_INTEGER_TYPE(n1), n2));\</span>
+<a name="l02381"></a>02381 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
+<a name="l02382"></a>02382 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l02383"></a>02383 <span class="preprocessor"> } catch (std::exception&amp;) { \</span>
+<a name="l02384"></a>02384 <span class="preprocessor"> return BOOST_XINT_INTEGER_TYPE::nan(); \</span>
+<a name="l02385"></a>02385 <span class="preprocessor"> } \</span>
+<a name="l02386"></a>02386 <span class="preprocessor"> } else { \</span>
+<a name="l02387"></a>02387 <span class="preprocessor"> BOOST_XINT_INTEGER_TYPE r(op(BOOST_XINT_INTEGER_TYPE(n1), n2)); \</span>
+<a name="l02388"></a>02388 <span class="preprocessor"> if (BOOST_XINT_INTEGER_TYPE::Threadsafe == true) r._make_unique(); \</span>
+<a name="l02389"></a>02389 <span class="preprocessor"> return BOOST_XINT_MOVE(r); \</span>
+<a name="l02390"></a>02390 <span class="preprocessor"> } \</span>
+<a name="l02391"></a>02391 <span class="preprocessor"> }</span>
+<a name="l02392"></a>02392 <span class="preprocessor"></span>
+<a name="l02393"></a>02393 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52" title="Calculate the value of ne">pow</a>)
+<a name="l02394"></a>02394 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a2503b80a8b59b45190ea024884405564" title="Get the modular product of two integers.">mulmod</a>)
+<a name="l02395"></a>02395 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a979ddb09a4d1a5dbfcb0707c19695877" title="Get the modular product of squaring an integer.">sqrmod</a>)
+<a name="l02396"></a>02396 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a1108e56d7d500a384bd0bb0a6849bfa0" title="Get the result of ne % m, keeping the intermediate results (relatively) small.">powmod</a>)
+<a name="l02397"></a>02397 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#ada4e628fe2275e6d6459b9b87167cbad" title="Get the modular inverse of a number in a modulus, if there is one.">invmod</a>)
+<a name="l02398"></a>02398 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator+)
+<a name="l02399"></a>02399 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator-)
+<a name="l02400"></a>02400 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator*)
+<a name="l02401"></a>02401 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator/)
+<a name="l02402"></a>02402 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator%)
+<a name="l02403"></a>02403 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator&amp;)
+<a name="l02404"></a>02404 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator|)
+<a name="l02405"></a>02405 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(operator^)
+<a name="l02406"></a>02406 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#a011ac7b423cee444f6728ca2b061f31e" title="Calculate the Greatest Common Denominator of two integers.">gcd</a>)
+<a name="l02407"></a>02407 <a class="code" href="integer_8hpp.html#a156a9c77202e0b05ebf2cc2494d6f090" title="Allows for operations between integer_t types and other integral values.">BOOST_XINT_ANY_MATH</a>(<a class="code" href="namespaceboost_1_1xint.html#affa4bae53c9bc3814816c70c8bb442b4" title="Calculate the Least Common Multiple of two integers.">lcm</a>)
+<a name="l02408"></a>02408
+<a name="l02411"></a>02411 template &lt;typename charT, typename traits, class A0, class A1, class A2, class
+<a name="l02412"></a>02412 A3, class A4&gt; inline std::basic_ostream&lt;charT,traits&gt;&amp;
+<a name="l02413"></a><a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">02413</a> operator&lt;&lt;(std::basic_ostream&lt;charT, traits&gt;&amp; out, const
+<a name="l02414"></a>02414 <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a> n)
+<a name="l02415"></a>02415 {
+<a name="l02416"></a>02416 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow &amp;&amp; n.is_nan()) <span class="keywordflow">return</span> <span class="keyword">operator</span>&lt;&lt;(out,
+<a name="l02417"></a>02417 detail::nan_text&lt;charT&gt;());
+<a name="l02418"></a>02418 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">operator&lt;&lt;</a>(out, n._data());
+<a name="l02419"></a>02419 }
+<a name="l02420"></a>02420
+<a name="l02421"></a>02421 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <span class="keyword">class </span>A0, <span class="keyword">class </span>A1, <span class="keyword">class </span>A2, <span class="keyword">class</span>
+<a name="l02422"></a>02422 A3, <span class="keyword">class </span>A4&gt; <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp;
+<a name="l02423"></a><a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">02423</a> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(std::basic_istream&lt;charT, traits&gt;&amp; in, <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp;
+<a name="l02424"></a>02424 n)
 <a name="l02425"></a>02425 {
-<a name="l02426"></a>02426 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow &amp;&amp; n.is_nan()) <span class="keywordflow">return</span> <span class="keyword">operator</span>&lt;&lt;(out,
-<a name="l02427"></a>02427 detail::nan_text&lt;charT&gt;());
-<a name="l02428"></a>02428 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">operator&lt;&lt;</a>(out, n._data());
-<a name="l02429"></a>02429 }
-<a name="l02430"></a>02430
-<a name="l02431"></a>02431 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <span class="keyword">class </span>A0, <span class="keyword">class </span>A1, <span class="keyword">class </span>A2, <span class="keyword">class</span>
-<a name="l02432"></a>02432 A3, <span class="keyword">class </span>A4&gt; <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp;
-<a name="l02433"></a><a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">02433</a> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(std::basic_istream&lt;charT, traits&gt;&amp; in, <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp;
-<a name="l02434"></a>02434 n)
-<a name="l02435"></a>02435 {
-<a name="l02436"></a>02436 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
-<a name="l02437"></a>02437 std::basic_string&lt;charT&gt; tnan = detail::nan_text&lt;charT&gt;();
-<a name="l02438"></a>02438 charT nextchar = charT(in.peek());
-<a name="l02439"></a>02439 <span class="keywordflow">if</span> (nextchar == tnan[0]) {
-<a name="l02440"></a>02440 <span class="comment">// Must be either #NaN# or an error</span>
-<a name="l02441"></a>02441 std::vector&lt;charT&gt; buffer;
-<a name="l02442"></a>02442
-<a name="l02443"></a>02443 <span class="comment">// These are efficient and safe, but MSVC complains about them anyway.</span>
-<a name="l02444"></a>02444 <span class="comment">//std::streamsize size = in.readsome(buffer, 5);</span>
-<a name="l02445"></a>02445 <span class="comment">//buffer[size]=0;</span>
-<a name="l02446"></a>02446
-<a name="l02447"></a>02447 <span class="comment">// Replacing them with these.</span>
-<a name="l02448"></a>02448 charT p = 0;
-<a name="l02449"></a>02449 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; tnan.length(); ++i) {
-<a name="l02450"></a>02450 in &gt;&gt; p;
-<a name="l02451"></a>02451 buffer.push_back(p);
-<a name="l02452"></a>02452 }
-<a name="l02453"></a>02453 buffer.push_back(0);
-<a name="l02454"></a>02454
-<a name="l02455"></a>02455 std::basic_string&lt;charT&gt; str(&amp;buffer[0]);
-<a name="l02456"></a>02456 <span class="keywordflow">if</span> (str == tnan) n = n.nan();
-<a name="l02457"></a>02457 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
-<a name="l02458"></a>02458 <span class="keywordflow">return</span> in;
-<a name="l02459"></a>02459 }
-<a name="l02460"></a>02460 }
-<a name="l02461"></a>02461 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(in, n._data());
-<a name="l02462"></a>02462 }
-<a name="l02464"></a>02464
-<a name="l02465"></a>02465 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02466"></a><a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">02466</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; left, <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; right)
-<a name="l02467"></a>02467 {
-<a name="l02468"></a>02468 left._swap(right);
-<a name="l02469"></a>02469 }
-<a name="l02470"></a>02470
-<a name="l02475"></a><a class="code" href="namespaceboost_1_1xint.html#a3f9537c30e9c1f7341574fcd0223147c">02475</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t&lt;&gt;</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer</a>;
-<a name="l02476"></a>02476
-<a name="l02482"></a><a class="code" href="namespaceboost_1_1xint.html#af3a28f270195952c3bbe42bff5bf2cd4">02482</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t&lt;options::nothrow&lt;true&gt;</a> &gt; <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">nothrow_integer</a>;
-<a name="l02483"></a>02483
-<a name="l02484"></a>02484 } <span class="comment">// namespace xint</span>
-<a name="l02485"></a>02485 } <span class="comment">// namespace boost</span>
-<a name="l02486"></a>02486
-<a name="l02487"></a>02487 <span class="preprocessor">#ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l02488"></a>02488 <span class="preprocessor"></span><span class="keyword">namespace </span>std {
-<a name="l02489"></a>02489
-<a name="l02490"></a>02490 <span class="preprocessor">#define BOOST_XINT_INTEGER_TYPENAME boost::xint::integer_t&lt;A0, A1, A2, A3, A4&gt;</span>
-<a name="l02491"></a>02491 <span class="preprocessor"></span>
-<a name="l02492"></a>02492 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02493"></a>02493 <span class="keyword">class </span>numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt; {
-<a name="l02494"></a>02494 <span class="keyword">public</span>:
-<a name="l02495"></a>02495 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized;
+<a name="l02426"></a>02426 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPE::Nothrow) {
+<a name="l02427"></a>02427 <span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; tnan = detail::nan_text&lt;charT&gt;();
+<a name="l02428"></a>02428 charT nextchar = charT(in.peek());
+<a name="l02429"></a>02429 <span class="keywordflow">if</span> (nextchar == tnan[0]) {
+<a name="l02430"></a>02430 <span class="comment">// Must be either #NaN# or an error</span>
+<a name="l02431"></a>02431 std::vector&lt;charT&gt; buffer;
+<a name="l02432"></a>02432
+<a name="l02433"></a>02433 charT p = 0;
+<a name="l02434"></a>02434 <span class="keywordflow">for</span> (std::size_t i = 0; i &lt; tnan.length(); ++i) {
+<a name="l02435"></a>02435 in &gt;&gt; p;
+<a name="l02436"></a>02436 buffer.push_back(p);
+<a name="l02437"></a>02437 }
+<a name="l02438"></a>02438 buffer.push_back(0);
+<a name="l02439"></a>02439
+<a name="l02440"></a>02440 std::basic_string&lt;charT&gt; str(&amp;buffer[0]);
+<a name="l02441"></a>02441 <span class="keywordflow">if</span> (str == tnan) n = n.nan();
+<a name="l02442"></a>02442 <span class="keywordflow">else</span> in.setstate(std::ios::failbit);
+<a name="l02443"></a>02443 <span class="keywordflow">return</span> in;
+<a name="l02444"></a>02444 }
+<a name="l02445"></a>02445 }
+<a name="l02446"></a>02446 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(in, n._data());
+<a name="l02447"></a>02447 }
+<a name="l02449"></a>02449
+<a name="l02450"></a>02450 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02451"></a><a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">02451</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(<a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; left, <a class="code" href="integer_8hpp.html#a4aaa66b9b8169b785506dfaf7de1fcd7">BOOST_XINT_INTEGER_TYPE</a>&amp; right)
+<a name="l02452"></a>02452 {
+<a name="l02453"></a>02453 left._swap(right);
+<a name="l02454"></a>02454 }
+<a name="l02455"></a>02455
+<a name="l02460"></a><a class="code" href="namespaceboost_1_1xint.html#a3f9537c30e9c1f7341574fcd0223147c">02460</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t&lt;&gt;</a> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer</a>;
+<a name="l02461"></a>02461
+<a name="l02467"></a><a class="code" href="namespaceboost_1_1xint.html#af3a28f270195952c3bbe42bff5bf2cd4">02467</a> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t&lt;options::nothrow&lt;true&gt;</a> &gt; <a class="code" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">nothrow_integer</a>;
+<a name="l02468"></a>02468
+<a name="l02469"></a>02469 } <span class="comment">// namespace xint</span>
+<a name="l02470"></a>02470 } <span class="comment">// namespace boost</span>
+<a name="l02471"></a>02471
+<a name="l02472"></a>02472 <span class="preprocessor">#ifndef BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l02473"></a>02473 <span class="preprocessor"></span><span class="keyword">namespace </span>std {
+<a name="l02474"></a>02474
+<a name="l02475"></a>02475 <span class="preprocessor">#define BOOST_XINT_INTEGER_TYPENAME boost::xint::integer_t&lt;A0, A1, A2, A3, A4&gt;</span>
+<a name="l02476"></a>02476 <span class="preprocessor"></span>
+<a name="l02477"></a>02477 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02478"></a>02478 <span class="keyword">class </span>numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt; {
+<a name="l02479"></a>02479 <span class="keyword">public</span>:
+<a name="l02480"></a>02480 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_specialized;
+<a name="l02481"></a>02481
+<a name="l02482"></a>02482 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME min BOOST_PREVENT_MACRO_SUBSTITUTION()
+<a name="l02483"></a>02483 <span class="keywordflow">throw</span>()
+<a name="l02484"></a>02484 {
+<a name="l02485"></a>02485 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Bits)
+<a name="l02486"></a>02486 <span class="keywordflow">return</span> -~(BOOST_XINT_INTEGER_TYPENAME());
+<a name="l02487"></a>02487 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l02488"></a>02488 }
+<a name="l02489"></a>02489 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME max BOOST_PREVENT_MACRO_SUBSTITUTION()
+<a name="l02490"></a>02490 throw()
+<a name="l02491"></a>02491 {
+<a name="l02492"></a>02492 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Bits)
+<a name="l02493"></a>02493 <span class="keywordflow">return</span> ~(BOOST_XINT_INTEGER_TYPENAME());
+<a name="l02494"></a>02494 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l02495"></a>02495 }
 <a name="l02496"></a>02496
-<a name="l02497"></a>02497 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME min BOOST_PREVENT_MACRO_SUBSTITUTION()
-<a name="l02498"></a>02498 <span class="keywordflow">throw</span>()
-<a name="l02499"></a>02499 {
-<a name="l02500"></a>02500 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Bits)
-<a name="l02501"></a>02501 <span class="keywordflow">return</span> -~(BOOST_XINT_INTEGER_TYPENAME());
-<a name="l02502"></a>02502 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l02503"></a>02503 }
-<a name="l02504"></a>02504 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME max BOOST_PREVENT_MACRO_SUBSTITUTION()
-<a name="l02505"></a>02505 throw()
-<a name="l02506"></a>02506 {
-<a name="l02507"></a>02507 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Bits)
-<a name="l02508"></a>02508 <span class="keywordflow">return</span> ~(BOOST_XINT_INTEGER_TYPENAME());
-<a name="l02509"></a>02509 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l02510"></a>02510 }
-<a name="l02511"></a>02511
-<a name="l02512"></a>02512 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits;
-<a name="l02513"></a>02513 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10;
-<a name="l02514"></a>02514 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed;
-<a name="l02515"></a>02515 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer;
-<a name="l02516"></a>02516 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact;
-<a name="l02517"></a>02517 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix;
-<a name="l02518"></a>02518 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME epsilon() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l02519"></a>02519 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME round_error() throw() { <span class="keywordflow">return</span> 0; }
-<a name="l02520"></a>02520
-<a name="l02521"></a>02521 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent; <span class="comment">// N/A</span>
-<a name="l02522"></a>02522 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10; <span class="comment">// N/A</span>
-<a name="l02523"></a>02523 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent; <span class="comment">// N/A</span>
-<a name="l02524"></a>02524 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10; <span class="comment">// N/A</span>
+<a name="l02497"></a>02497 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits;
+<a name="l02498"></a>02498 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> digits10;
+<a name="l02499"></a>02499 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_signed;
+<a name="l02500"></a>02500 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_integer;
+<a name="l02501"></a>02501 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_exact;
+<a name="l02502"></a>02502 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> radix;
+<a name="l02503"></a>02503 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME epsilon() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l02504"></a>02504 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME round_error() throw() { <span class="keywordflow">return</span> 0; }
+<a name="l02505"></a>02505
+<a name="l02506"></a>02506 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent; <span class="comment">// N/A</span>
+<a name="l02507"></a>02507 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> min_exponent10; <span class="comment">// N/A</span>
+<a name="l02508"></a>02508 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent; <span class="comment">// N/A</span>
+<a name="l02509"></a>02509 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> max_exponent10; <span class="comment">// N/A</span>
+<a name="l02510"></a>02510
+<a name="l02511"></a>02511 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity; <span class="comment">// N/A</span>
+<a name="l02512"></a>02512 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN;
+<a name="l02513"></a>02513 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN; <span class="comment">// N/A</span>
+<a name="l02514"></a>02514 <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm; <span class="comment">// N/A</span>
+<a name="l02515"></a>02515 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss; <span class="comment">// N/A</span>
+<a name="l02516"></a>02516
+<a name="l02517"></a>02517 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME infinity() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
+<a name="l02518"></a>02518 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME quiet_NaN() throw() {
+<a name="l02519"></a>02519 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Nothrow)
+<a name="l02520"></a>02520 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPENAME::nan();
+<a name="l02521"></a>02521 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l02522"></a>02522 }
+<a name="l02523"></a>02523 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME signaling_NaN() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
+<a name="l02524"></a>02524 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME denorm_min() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
 <a name="l02525"></a>02525
-<a name="l02526"></a>02526 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_infinity; <span class="comment">// N/A</span>
-<a name="l02527"></a>02527 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_quiet_NaN;
-<a name="l02528"></a>02528 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_signaling_NaN; <span class="comment">// N/A</span>
-<a name="l02529"></a>02529 <span class="keyword">static</span> <span class="keyword">const</span> float_denorm_style has_denorm; <span class="comment">// N/A</span>
-<a name="l02530"></a>02530 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_denorm_loss; <span class="comment">// N/A</span>
-<a name="l02531"></a>02531
-<a name="l02532"></a>02532 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME infinity() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
-<a name="l02533"></a>02533 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME quiet_NaN() throw() {
-<a name="l02534"></a>02534 <span class="keywordflow">if</span> (BOOST_XINT_INTEGER_TYPENAME::Nothrow)
-<a name="l02535"></a>02535 <span class="keywordflow">return</span> BOOST_XINT_INTEGER_TYPENAME::nan();
-<a name="l02536"></a>02536 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l02537"></a>02537 }
-<a name="l02538"></a>02538 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME signaling_NaN() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
-<a name="l02539"></a>02539 <span class="keyword">static</span> BOOST_XINT_INTEGER_TYPENAME denorm_min() throw() { <span class="keywordflow">return</span> 0; } <span class="comment">// N/A</span>
-<a name="l02540"></a>02540
-<a name="l02541"></a>02541 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559; <span class="comment">// N/A</span>
-<a name="l02542"></a>02542 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded;
-<a name="l02543"></a>02543 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo;
-<a name="l02544"></a>02544
-<a name="l02545"></a>02545 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps; <span class="comment">// I assume this means exceptions?</span>
-<a name="l02546"></a>02546 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before; <span class="comment">// N/A</span>
-<a name="l02547"></a>02547 <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style; <span class="comment">// N/A</span>
-<a name="l02548"></a>02548 };
+<a name="l02526"></a>02526 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_iec559; <span class="comment">// N/A</span>
+<a name="l02527"></a>02527 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_bounded;
+<a name="l02528"></a>02528 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_modulo;
+<a name="l02529"></a>02529
+<a name="l02530"></a>02530 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> traps; <span class="comment">// I assume this means exceptions?</span>
+<a name="l02531"></a>02531 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> tinyness_before; <span class="comment">// N/A</span>
+<a name="l02532"></a>02532 <span class="keyword">static</span> <span class="keyword">const</span> float_round_style round_style; <span class="comment">// N/A</span>
+<a name="l02533"></a>02533 };
+<a name="l02534"></a>02534
+<a name="l02535"></a>02535 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02536"></a>02536 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_specialized = <span class="keyword">true</span>;
+<a name="l02537"></a>02537
+<a name="l02538"></a>02538 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02539"></a>02539 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::digits =
+<a name="l02540"></a>02540 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(BOOST_XINT_INTEGER_TYPENAME::Bits);
+<a name="l02541"></a>02541
+<a name="l02542"></a>02542 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02543"></a>02543 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::digits10 =
+<a name="l02544"></a>02544 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(
+<a name="l02545"></a>02545 BOOST_XINT_INTEGER_TYPENAME::Bits));
+<a name="l02546"></a>02546
+<a name="l02547"></a>02547 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02548"></a>02548 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_signed = <span class="keyword">true</span>;
 <a name="l02549"></a>02549
 <a name="l02550"></a>02550 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02551"></a>02551 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_specialized = <span class="keyword">true</span>;
+<a name="l02551"></a>02551 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_integer = <span class="keyword">true</span>;
 <a name="l02552"></a>02552
 <a name="l02553"></a>02553 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02554"></a>02554 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::digits =
-<a name="l02555"></a>02555 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(BOOST_XINT_INTEGER_TYPENAME::Bits);
-<a name="l02556"></a>02556
-<a name="l02557"></a>02557 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02558"></a>02558 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::digits10 =
-<a name="l02559"></a>02559 <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(boost::xint::detail::log10_bits(
-<a name="l02560"></a>02560 BOOST_XINT_INTEGER_TYPENAME::Bits));
+<a name="l02554"></a>02554 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_exact = <span class="keyword">true</span>;
+<a name="l02555"></a>02555
+<a name="l02556"></a>02556 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02557"></a>02557 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::radix = 2;
+<a name="l02558"></a>02558
+<a name="l02559"></a>02559 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02560"></a>02560 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::min_exponent = 0;
 <a name="l02561"></a>02561
 <a name="l02562"></a>02562 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02563"></a>02563 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_signed = <span class="keyword">true</span>;
+<a name="l02563"></a>02563 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::min_exponent10 = 0;
 <a name="l02564"></a>02564
 <a name="l02565"></a>02565 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02566"></a>02566 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_integer = <span class="keyword">true</span>;
+<a name="l02566"></a>02566 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::max_exponent = 0;
 <a name="l02567"></a>02567
 <a name="l02568"></a>02568 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02569"></a>02569 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_exact = <span class="keyword">true</span>;
+<a name="l02569"></a>02569 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::max_exponent10 = 0;
 <a name="l02570"></a>02570
 <a name="l02571"></a>02571 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02572"></a>02572 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::radix = 2;
+<a name="l02572"></a>02572 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_infinity = <span class="keyword">false</span>;
 <a name="l02573"></a>02573
 <a name="l02574"></a>02574 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02575"></a>02575 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::min_exponent = 0;
-<a name="l02576"></a>02576
-<a name="l02577"></a>02577 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02578"></a>02578 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::min_exponent10 = 0;
-<a name="l02579"></a>02579
-<a name="l02580"></a>02580 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02581"></a>02581 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::max_exponent = 0;
-<a name="l02582"></a>02582
-<a name="l02583"></a>02583 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02584"></a>02584 <span class="keyword">const</span> <span class="keywordtype">int</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::max_exponent10 = 0;
+<a name="l02575"></a>02575 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_quiet_NaN =
+<a name="l02576"></a>02576 (BOOST_XINT_INTEGER_TYPENAME::Nothrow ? <span class="keyword">true</span> : <span class="keyword">false</span>);
+<a name="l02577"></a>02577
+<a name="l02578"></a>02578 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02579"></a>02579 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_signaling_NaN =
+<a name="l02580"></a>02580 <span class="keyword">false</span>;
+<a name="l02581"></a>02581
+<a name="l02582"></a>02582 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02583"></a>02583 <span class="keyword">const</span> float_denorm_style numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_denorm
+<a name="l02584"></a>02584 = denorm_absent;
 <a name="l02585"></a>02585
 <a name="l02586"></a>02586 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02587"></a>02587 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_infinity = <span class="keyword">false</span>;
+<a name="l02587"></a>02587 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_denorm_loss = <span class="keyword">false</span>;
 <a name="l02588"></a>02588
 <a name="l02589"></a>02589 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02590"></a>02590 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_quiet_NaN =
-<a name="l02591"></a>02591 (BOOST_XINT_INTEGER_TYPENAME::Nothrow ? <span class="keyword">true</span> : <span class="keyword">false</span>);
-<a name="l02592"></a>02592
-<a name="l02593"></a>02593 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02594"></a>02594 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_signaling_NaN =
-<a name="l02595"></a>02595 <span class="keyword">false</span>;
-<a name="l02596"></a>02596
-<a name="l02597"></a>02597 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02598"></a>02598 <span class="keyword">const</span> float_denorm_style numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_denorm
-<a name="l02599"></a>02599 = denorm_absent;
-<a name="l02600"></a>02600
-<a name="l02601"></a>02601 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02602"></a>02602 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::has_denorm_loss = <span class="keyword">false</span>;
+<a name="l02590"></a>02590 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_iec559 = <span class="keyword">false</span>;
+<a name="l02591"></a>02591
+<a name="l02592"></a>02592 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02593"></a>02593 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_bounded =
+<a name="l02594"></a>02594 (BOOST_XINT_INTEGER_TYPENAME::Bits == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>);
+<a name="l02595"></a>02595
+<a name="l02596"></a>02596 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02597"></a>02597 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_modulo =
+<a name="l02598"></a>02598 (BOOST_XINT_INTEGER_TYPENAME::Bits == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>);
+<a name="l02599"></a>02599
+<a name="l02600"></a>02600 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
+<a name="l02601"></a>02601 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::traps =
+<a name="l02602"></a>02602 (BOOST_XINT_INTEGER_TYPENAME::Nothrow ? <span class="keyword">false</span> : <span class="keyword">true</span>);
 <a name="l02603"></a>02603
 <a name="l02604"></a>02604 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02605"></a>02605 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_iec559 = <span class="keyword">false</span>;
+<a name="l02605"></a>02605 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::tinyness_before = <span class="keyword">false</span>;
 <a name="l02606"></a>02606
 <a name="l02607"></a>02607 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02608"></a>02608 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_bounded =
-<a name="l02609"></a>02609 (BOOST_XINT_INTEGER_TYPENAME::Bits == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>);
+<a name="l02608"></a>02608 <span class="keyword">const</span> float_round_style numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::round_style
+<a name="l02609"></a>02609 = round_indeterminate;
 <a name="l02610"></a>02610
-<a name="l02611"></a>02611 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02612"></a>02612 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::is_modulo =
-<a name="l02613"></a>02613 (BOOST_XINT_INTEGER_TYPENAME::Bits == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>);
-<a name="l02614"></a>02614
-<a name="l02615"></a>02615 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02616"></a>02616 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::traps =
-<a name="l02617"></a>02617 (BOOST_XINT_INTEGER_TYPENAME::Nothrow ? <span class="keyword">false</span> : <span class="keyword">true</span>);
-<a name="l02618"></a>02618
-<a name="l02619"></a>02619 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02620"></a>02620 <span class="keyword">const</span> <span class="keywordtype">bool</span> numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::tinyness_before = <span class="keyword">false</span>;
-<a name="l02621"></a>02621
-<a name="l02622"></a>02622 <a class="code" href="integer_8hpp.html#ae52121dc019a317d3d044eb35e44b817">BOOST_XINT_INTEGER_TPL</a>
-<a name="l02623"></a>02623 <span class="keyword">const</span> float_round_style numeric_limits&lt;BOOST_XINT_INTEGER_TYPENAME&gt;::round_style
-<a name="l02624"></a>02624 = round_indeterminate;
-<a name="l02625"></a>02625
-<a name="l02626"></a>02626 } <span class="comment">// namespace std</span>
-<a name="l02627"></a>02627 <span class="preprocessor">#endif // BOOST_XINT_DOXYGEN_IGNORE</span>
-<a name="l02628"></a>02628 <span class="preprocessor"></span><span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
+<a name="l02611"></a>02611 } <span class="comment">// namespace std</span>
+<a name="l02612"></a>02612 <span class="preprocessor">#endif // BOOST_XINT_DOXYGEN_IGNORE</span>
+<a name="l02613"></a>02613 <span class="preprocessor"></span><span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/internals_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/internals_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/internals_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="internals_8hpp_source.html">internals.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/internals_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/internals_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/internals_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -81,26 +81,26 @@
 <a name="l00066"></a>00066 <span class="keyword">namespace </span>xint {
 <a name="l00067"></a>00067 <span class="keyword">namespace </span>detail {
 <a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keyword">inline</span> <span class="keywordtype">size_t</span> log10_bits(<span class="keywordtype">size_t</span> bits) {
+<a name="l00070"></a>00070 <span class="keyword">inline</span> std::size_t log10_bits(std::size_t bits) {
 <a name="l00071"></a>00071 <span class="comment">// large_step and count_per_large_step are based on a minimum-32-bit integer</span>
 <a name="l00072"></a>00072 assert(std::numeric_limits&lt;boost::intmax_t&gt;::digits &gt;= 32);
 <a name="l00073"></a>00073
 <a name="l00074"></a>00074 <span class="keyword">typedef</span> raw_integer_t&lt;0, false, std::allocator&lt;digit_t&gt; &gt; T;
 <a name="l00075"></a>00075 <span class="keyword">const</span> T large_step(1000000000), small_step(10);
-<a name="l00076"></a>00076 <span class="keyword">const</span> <span class="keywordtype">size_t</span> count_per_large_step = 9, count_per_small_step = 1;
+<a name="l00076"></a>00076 <span class="keyword">const</span> std::size_t count_per_large_step = 9, count_per_small_step = 1;
 <a name="l00077"></a>00077
 <a name="l00078"></a>00078 T n;
 <a name="l00079"></a>00079 pow2(n, bits);
 <a name="l00080"></a>00080 --n;
 <a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keywordtype">size_t</span> r = 0;
+<a name="l00082"></a>00082 std::size_t r = 0;
 <a name="l00083"></a>00083 <span class="keywordflow">while</span> (n &gt;= large_step) { n /= large_step; r += count_per_large_step; }
 <a name="l00084"></a>00084 <span class="keywordflow">while</span> (n &gt;= small_step) { n /= small_step; r += count_per_small_step; }
 <a name="l00085"></a>00085 <span class="keywordflow">return</span> r;
 <a name="l00086"></a>00086 }
 <a name="l00087"></a>00087
 <a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00089"></a>00089 std::basic_string&lt;charT&gt; nan_text() {
+<a name="l00089"></a>00089 <span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; nan_text() {
 <a name="l00090"></a>00090 <span class="keyword">static</span> std::basic_string&lt;charT&gt; r;
 <a name="l00091"></a>00091 <span class="keywordflow">if</span> (r.empty()) {
 <a name="l00092"></a>00092 std::basic_ostringstream&lt;charT&gt; out;
@@ -121,7 +121,7 @@
 <a name="l00108"></a>00108
 <a name="l00109"></a>00109 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTERNALS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/log2_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/log2_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/log2_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="log2_8hpp_source.html">log2.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/log2_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/log2_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/log2_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -43,14 +43,14 @@
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>detail {
 <a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">inline</span> <span class="keywordtype">size_t</span> log2_base(boost::uintmax_t n, <span class="keywordtype">size_t</span> maxbits) {
+<a name="l00028"></a>00028 <span class="keyword">inline</span> std::size_t log2_base(boost::uintmax_t n, std::size_t maxbits) {
 <a name="l00029"></a>00029 boost::uintmax_t lo = 0, hi = maxbits;
 <a name="l00030"></a>00030 <span class="keywordflow">while</span> (lo &lt; hi) {
 <a name="l00031"></a>00031 boost::uintmax_t s = lo + ((hi - lo) &gt;&gt; 1);
 <a name="l00032"></a>00032 <span class="keywordflow">if</span> (n &gt;= (boost::uintmax_t(1) &lt;&lt; s)) lo = s + 1;
 <a name="l00033"></a>00033 <span class="keywordflow">else</span> hi = s;
 <a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> size_t(lo);
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> std::size_t(lo);
 <a name="l00036"></a>00036 }
 <a name="l00037"></a>00037
 <a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
@@ -78,7 +78,7 @@
 <a name="l00060"></a>00060
 <a name="l00061"></a>00061 BOOST_XINT_RAWINT_TPL
 <a name="l00062"></a>00062 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n) {
-<a name="l00063"></a>00063 <span class="keywordtype">size_t</span> r = bits_per_digit * (n.length - 1);
+<a name="l00063"></a>00063 std::size_t r = bits_per_digit * (n.length - 1);
 <a name="l00064"></a>00064 <span class="keywordflow">return</span> r + <a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(n[n.length - 1]);
 <a name="l00065"></a>00065 }
 <a name="l00066"></a>00066
@@ -88,7 +88,7 @@
 <a name="l00071"></a>00071
 <a name="l00072"></a>00072 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_LOG2_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/magnitude__manager_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/magnitude__manager_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/magnitude__manager_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="magnitude__manager_8hpp_source.html">magnitude_manager.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/magnitude__manager_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/magnitude__manager_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/magnitude__manager_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -49,7 +49,7 @@
 <a name="l00031"></a>00031 <span class="keyword">typedef</span> allocator_t&lt;Bits, Secure, Allocator&gt; Alloc;
 <a name="l00032"></a>00032
 <a name="l00033"></a>00033 magnitude_manager_t(): raw_data(zerodata()) { inc(); }
-<a name="l00034"></a>00034 <span class="keyword">explicit</span> magnitude_manager_t(<span class="keywordtype">size_t</span> length, <span class="keywordtype">bool</span> readonly = <span class="keyword">false</span>):
+<a name="l00034"></a>00034 <span class="keyword">explicit</span> magnitude_manager_t(std::size_t length, <span class="keywordtype">bool</span> readonly = <span class="keyword">false</span>):
 <a name="l00035"></a>00035 raw_data(Alloc::alloc(length, readonly)) { inc(); }
 <a name="l00036"></a>00036 magnitude_manager_t(<span class="keyword">const</span> magnitude_manager_t&lt;Bits, Secure, Allocator&gt;&amp;
 <a name="l00037"></a>00037 copy): raw_data(copy.raw_data) { inc(); }
@@ -64,20 +64,20 @@
 <a name="l00046"></a>00046 <span class="keywordtype">bool</span> is_nan()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (raw_data == 0); }
 <a name="l00047"></a>00047 <span class="keywordtype">void</span> make_nan() { dec(); raw_data = 0; }
 <a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keywordtype">void</span> resize_and_uniquify(<span class="keywordtype">size_t</span> newsize = 0, realloc::strategy strategy =
-<a name="l00050"></a>00050 realloc::copy) { raw_data = Alloc::realloc_and_uniquify(raw_data,
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> resize_and_uniquify(std::size_t newsize = 0, realloc::strategy strategy
+<a name="l00050"></a>00050 = realloc::copy) { raw_data = Alloc::realloc_and_uniquify(raw_data,
 <a name="l00051"></a>00051 newsize, strategy); }
 <a name="l00052"></a>00052
 <a name="l00053"></a>00053 <span class="keywordtype">bool</span> same_storage(<span class="keyword">const</span> magnitude_manager_t&lt;Bits, Secure, Allocator&gt; n)<span class="keyword"></span>
 <a name="l00054"></a>00054 <span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_data == n.raw_data; }
 <a name="l00055"></a>00055
 <a name="l00056"></a>00056 <span class="comment">// Do not call these on a NaN</span>
-<a name="l00057"></a>00057 <span class="keywordtype">size_t</span> max_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_data-&gt;max_length; }
+<a name="l00057"></a>00057 std::size_t max_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_data-&gt;max_length; }
 <a name="l00058"></a>00058 <span class="keywordtype">bool</span> is_unique()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (raw_data-&gt;copies() == 1); }
 <a name="l00059"></a>00059 digit_t *digits() { <span class="keywordflow">return</span> raw_data-&gt;digits; }
 <a name="l00060"></a>00060 <span class="keyword">const</span> digit_t *digits()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_data-&gt;digits; }
 <a name="l00061"></a>00061 <span class="keywordtype">void</span> trim() { fixedlength_t&lt;Bits&gt;::trim(raw_data); }
-<a name="l00062"></a>00062
+<a name="l00062"></a>00062
 <a name="l00063"></a>00063 <span class="keywordtype">void</span> _swap(magnitude_manager_t&lt;Bits, Secure, Allocator&gt;&amp; i2) {
 <a name="l00064"></a>00064 <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">std::swap</a>;
 <a name="l00065"></a>00065 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(raw_data, i2.raw_data);
@@ -110,7 +110,7 @@
 <a name="l00093"></a>00093
 <a name="l00094"></a>00094 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MAGNITUDE_MANAGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/modular_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/modular_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/modular_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="modular_8hpp_source.html">modular.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/modular_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/modular_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/modular_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -73,11 +73,11 @@
 <a name="l00055"></a>00055 } <span class="keywordflow">else</span> {
 <a name="l00056"></a>00056 BOOST_XINT_RAWINT answer(1), p(n.abs());
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> lastBitCount = 0;
+<a name="l00058"></a>00058 std::size_t lastBitCount = 0;
 <a name="l00059"></a>00059 detail::digit_t ee(e[e.length - 1]);
 <a name="l00060"></a>00060 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
 <a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex = 0; eIndex &lt; e.length; ++eIndex) {
+<a name="l00062"></a>00062 <span class="keywordflow">for</span> (std::size_t eIndex = 0; eIndex &lt; e.length; ++eIndex) {
 <a name="l00063"></a>00063 detail::digit_t ee(e[eIndex]);
 <a name="l00064"></a>00064
 <a name="l00065"></a>00065 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == e.length - 1 ? lastBitCount :
@@ -101,7 +101,7 @@
 <a name="l00084"></a>00084 <span class="comment"></span>
 <a name="l00085"></a>00085 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MODULAR_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/monty_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/monty_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/monty_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="monty_8hpp_source.html">monty.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/monty_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/monty_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/monty_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -48,7 +48,7 @@
 <a name="l00031"></a>00031 <span class="comment">// Using the Dussé and Kalisk simplification</span>
 <a name="l00032"></a>00032 doubledigit_t x = 2, y = 1;
 <a name="l00033"></a>00033 digit_t n0 = n[0];
-<a name="l00034"></a>00034 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 2; i &lt;= bits_per_digit; ++i, x &lt;&lt;= 1)
+<a name="l00034"></a>00034 <span class="keywordflow">for</span> (std::size_t i = 2; i &lt;= bits_per_digit; ++i, x &lt;&lt;= 1)
 <a name="l00035"></a>00035 <span class="keywordflow">if</span> (x &lt; ((n0 * y) &amp; ((x &lt;&lt; 1) - 1))) y += x;
 <a name="l00036"></a>00036 <span class="keywordflow">return</span> digit_t(x - y);
 <a name="l00037"></a>00037 }
@@ -87,9 +87,9 @@
 <a name="l00078"></a>00078 <span class="comment">// Unstated parameter r is B^L</span>
 <a name="l00079"></a>00079 <span class="comment">// nPrime0 is nPrime mod B, or digit zero of nPrime</span>
 <a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">const</span> <span class="keywordtype">size_t</span> L(n.length);
+<a name="l00081"></a>00081 <span class="keyword">const</span> std::size_t L(n.length);
 <a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keywordtype">size_t</span> i = 0;
+<a name="l00083"></a>00083 std::size_t i = 0;
 <a name="l00084"></a>00084 BOOST_XINT_RAWINT t(a * b);
 <a name="l00085"></a>00085
 <a name="l00086"></a>00086 <span class="keywordflow">do</span> {
@@ -110,7 +110,7 @@
 <a name="l00101"></a>00101 <span class="comment">// the calculations by a small amount, whereas it increases the memory</span>
 <a name="l00102"></a>00102 <span class="comment">// requirements and number of precalculations by an exponential amount. 8</span>
 <a name="l00103"></a>00103 <span class="comment">// provides a good balance.</span>
-<a name="l00104"></a>00104 <span class="keyword">const</span> <span class="keywordtype">size_t</span> cMaxK = 8;
+<a name="l00104"></a>00104 <span class="keyword">const</span> std::size_t cMaxK = 8;
 <a name="l00105"></a>00105 <span class="keyword">typedef</span> boost::uint_t&lt;cMaxK&gt;::fast kbitdigit_t; <span class="comment">// k bits have to fit into it</span>
 <a name="l00106"></a>00106 <span class="keyword">typedef</span> std::vector&lt;kbitdigit_t&gt; vkbitdigit_t;
 <a name="l00107"></a>00107 <span class="preprocessor">#define ddPowerOfTwo(p) (doubledigit_t(1) &lt;&lt; p)</span>
@@ -126,7 +126,7 @@
 <a name="l00117"></a>00117 <span class="keyword">public</span>:
 <a name="l00118"></a>00118 <span class="keyword">typedef</span> std::pair&lt;int, int&gt; value_t;
 <a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="keyword">const</span> value_t&amp; operator[](<span class="keywordtype">size_t</span> x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTable[x]; }
+<a name="l00120"></a>00120 <span class="keyword">const</span> value_t&amp; operator[](std::size_t x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTable[x]; }
 <a name="l00121"></a>00121
 <a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keyword">const</span> TUTable&amp; <span class="keyword">get</span>() {
 <a name="l00123"></a>00123 <span class="comment">// Construct a singleton instance on demand</span>
@@ -170,13 +170,13 @@
 <a name="l00161"></a>00161
 <a name="l00162"></a>00162 BOOST_XINT_RAWINT_TPL
 <a name="l00163"></a>00163 std::vector&lt;BOOST_XINT_RAWINT&gt; precalculateOddPowersOfAa(<span class="keyword">const</span> BOOST_XINT_RAWINT
-<a name="l00164"></a>00164 a, <span class="keyword">const</span> BOOST_XINT_RAWINT r, <span class="keyword">const</span> BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> k)
+<a name="l00164"></a>00164 a, <span class="keyword">const</span> BOOST_XINT_RAWINT r, <span class="keyword">const</span> BOOST_XINT_RAWINT n, std::size_t k)
 <a name="l00165"></a>00165 {
 <a name="l00166"></a>00166 BOOST_XINT_RAWINT zero, one(1);
 <a name="l00167"></a>00167 BOOST_XINT_RAWINT aa = a * r % n, aSquared = a * a % n;
 <a name="l00168"></a>00168
 <a name="l00169"></a>00169 std::vector&lt;BOOST_XINT_RAWINT&gt; rval;
-<a name="l00170"></a>00170 rval.reserve(<span class="keywordtype">size_t</span>(ddPowerOfTwo(k)));
+<a name="l00170"></a>00170 rval.reserve(std::size_t(ddPowerOfTwo(k)));
 <a name="l00171"></a>00171 rval.push_back(one); <span class="comment">// Anything to the zeroth power is one</span>
 <a name="l00172"></a>00172 rval.push_back(aa); <span class="comment">// Anything to the first power is itself</span>
 <a name="l00173"></a>00173
@@ -204,7 +204,7 @@
 <a name="l00195"></a>00195 <span class="stringliteral">&quot;requires an odd modulus&quot;</span>);
 <a name="l00196"></a>00196
 <a name="l00197"></a>00197 <span class="comment">// Precalculate some values</span>
-<a name="l00198"></a>00198 <span class="keyword">const</span> <span class="keywordtype">size_t</span> k(mostEfficientK(e));
+<a name="l00198"></a>00198 <span class="keyword">const</span> std::size_t k(mostEfficientK(e));
 <a name="l00199"></a>00199 <span class="keyword">const</span> BOOST_XINT_RAWINT r(montgomeryR(n));
 <a name="l00200"></a>00200 <span class="keyword">const</span> digit_t nPrime0(inverse0(n));
 <a name="l00201"></a>00201 <span class="keyword">const</span> std::vector&lt;BOOST_XINT_RAWINT&gt; oddPowersOfAa(
@@ -245,7 +245,7 @@
 <a name="l00236"></a>00236 } <span class="keywordflow">else</span> {
 <a name="l00237"></a>00237 std::pair&lt;int, int&gt; tu = tuTable[i];
 <a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="keywordtype">size_t</span> s = k - tu.first;
+<a name="l00239"></a>00239 std::size_t s = k - tu.first;
 <a name="l00240"></a>00240 <span class="keywordflow">while</span> (s-- &gt; 0) pp = montgomeryMultiplyMod(pp, pp, n, nPrime0);
 <a name="l00241"></a>00241
 <a name="l00242"></a>00242 pp = montgomeryMultiplyMod(pp, oddPowersOfAa[tu.second], n,
@@ -264,7 +264,7 @@
 <a name="l00256"></a>00256 <span class="comment"></span>
 <a name="l00257"></a>00257 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MONTY_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/multiply_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/multiply_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/multiply_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="multiply_8hpp_source.html">multiply.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/multiply_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/multiply_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/multiply_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -46,14 +46,14 @@
 <a name="l00028"></a>00028 BOOST_XINT_RAWINT_TPL
 <a name="l00029"></a>00029 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#abe5e63185f27f2c795dc287e030ec424" title="Calculate the value of n2">square</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n) {
 <a name="l00030"></a>00030 <span class="keyword">const</span> digit_t *ndigits = n.digits();
-<a name="l00031"></a>00031 <span class="keywordtype">size_t</span> nlen = n.length;
+<a name="l00031"></a>00031 std::size_t nlen = n.length;
 <a name="l00032"></a>00032
 <a name="l00033"></a>00033 BOOST_XINT_RAWINT target;
 <a name="l00034"></a>00034 digit_t *rdigits = target.digits(n.length * 2 + 1, realloc::zero), *rmax =
 <a name="l00035"></a>00035 rdigits + target.length;
 <a name="l00036"></a>00036
 <a name="l00037"></a>00037 <span class="comment">// Calculate the product of digits of unequal index</span>
-<a name="l00038"></a>00038 <span class="keywordtype">size_t</span> i = 0;
+<a name="l00038"></a>00038 std::size_t i = 0;
 <a name="l00039"></a>00039 doubledigit_t c;
 <a name="l00040"></a>00040 <span class="keywordflow">do</span> {
 <a name="l00041"></a>00041 <span class="keyword">const</span> doubledigit_t ii = ndigits[i];
@@ -124,64 +124,65 @@
 <a name="l00106"></a>00106 BOOST_XINT_RAWINT target;
 <a name="l00107"></a>00107 digit_t *adigits = target.digits(n.length + by.length, realloc::zero),
 <a name="l00108"></a>00108 *ae = adigits + target.max_length();
-<a name="l00109"></a>00109 <span class="keywordtype">size_t</span> maxdigit = target.max_length(), nlen = n.length, bylen = by.length;
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
-<a name="l00112"></a>00112 <span class="keyword">const</span> digit_t *d1 = n.digits(), *d1e = d1 + (std::min)(nlen, maxdigit);
-<a name="l00113"></a>00113 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1 = 0; d1 &lt; d1e; ++digit1, ++d1) {
-<a name="l00114"></a>00114 <span class="keyword">const</span> digit_t *d2 = by.digits(), *d2e = d2 + (std::min)(bylen, maxdigit
-<a name="l00115"></a>00115 - digit1);
-<a name="l00116"></a>00116 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2 = 0; d2 &lt; d2e; ++digit2, ++d2) {
-<a name="l00117"></a>00117 <span class="comment">// First multiply the two digits</span>
-<a name="l00118"></a>00118 doubledigit_t t = doubledigit_t(*d1) * *d2;
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="comment">// Now add the result to the answer.</span>
-<a name="l00121"></a>00121 <span class="keywordtype">int</span> carry = 0;
-<a name="l00122"></a>00122 digit_t *a = adigits + digit1 + digit2;
-<a name="l00123"></a>00123 doubledigit_t addt = doubledigit_t(*a) + (t &amp; digit_mask);
-<a name="l00124"></a>00124 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry = 1;
-<a name="l00125"></a>00125 *a++=<span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="keywordflow">if</span> (a &lt; ae) {
-<a name="l00128"></a>00128 addt = *a + ((t &gt;&gt; bits_per_digit) &amp; digit_mask) + carry;
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry = 1; <span class="keywordflow">else</span> carry = 0;
-<a name="l00130"></a>00130 *a++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <span class="keywordflow">while</span> (carry &amp;&amp; a &lt; ae) {
-<a name="l00133"></a>00133 addt = *a + 1;
-<a name="l00134"></a>00134 *a++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
-<a name="l00135"></a>00135 <span class="keywordflow">if</span> (addt &lt; digit_overflowbit) <span class="keywordflow">break</span>;
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="comment">// No need to change length</span>
-<a name="l00142"></a>00142 target.negative = (n.negative != by.negative);
-<a name="l00143"></a>00143 target.trim();
-<a name="l00144"></a>00144 <span class="keywordflow">return</span> target;
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 BOOST_XINT_RAWINT_TPL
-<a name="l00148"></a>00148 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator*=(<span class="keyword">const</span> BOOST_XINT_RAWINT by) {
-<a name="l00149"></a>00149 *<span class="keyword">this</span> = multiply(*<span class="keyword">this</span>, by);
-<a name="l00150"></a>00150 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 BOOST_XINT_RAWINT_TPL
-<a name="l00154"></a>00154 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455" title="Calculate the product of two integers.">operator*</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n1, <span class="keyword">const</span> BOOST_XINT_RAWINT
-<a name="l00155"></a>00155 n2)
-<a name="l00156"></a>00156 {
-<a name="l00157"></a>00157 <span class="keywordflow">return</span> multiply(n1, n2);
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 } <span class="comment">// namespace detail</span>
-<a name="l00161"></a>00161 } <span class="comment">// namespace xint</span>
-<a name="l00162"></a>00162 } <span class="comment">// namespace boost</span>
-<a name="l00164"></a>00164 <span class="comment"></span>
-<a name="l00165"></a>00165 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MULTIPLY_HPP</span>
+<a name="l00109"></a>00109 std::size_t maxdigit = target.max_length(), nlen = n.length, bylen =
+<a name="l00110"></a>00110 by.length;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">// Now multiply the digits, starting at the least-significant digit.</span>
+<a name="l00113"></a>00113 <span class="keyword">const</span> digit_t *d1 = n.digits(), *d1e = d1 + (std::min)(nlen, maxdigit);
+<a name="l00114"></a>00114 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit1 = 0; d1 &lt; d1e; ++digit1, ++d1) {
+<a name="l00115"></a>00115 <span class="keyword">const</span> digit_t *d2 = by.digits(), *d2e = d2 + (std::min)(bylen, maxdigit
+<a name="l00116"></a>00116 - digit1);
+<a name="l00117"></a>00117 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> digit2 = 0; d2 &lt; d2e; ++digit2, ++d2) {
+<a name="l00118"></a>00118 <span class="comment">// First multiply the two digits</span>
+<a name="l00119"></a>00119 doubledigit_t t = doubledigit_t(*d1) * *d2;
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="comment">// Now add the result to the answer.</span>
+<a name="l00122"></a>00122 <span class="keywordtype">int</span> carry = 0;
+<a name="l00123"></a>00123 digit_t *a = adigits + digit1 + digit2;
+<a name="l00124"></a>00124 doubledigit_t addt = doubledigit_t(*a) + (t &amp; digit_mask);
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry = 1;
+<a name="l00126"></a>00126 *a++=<span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keywordflow">if</span> (a &lt; ae) {
+<a name="l00129"></a>00129 addt = *a + ((t &gt;&gt; bits_per_digit) &amp; digit_mask) + carry;
+<a name="l00130"></a>00130 <span class="keywordflow">if</span> (addt &gt;= digit_overflowbit) carry = 1; <span class="keywordflow">else</span> carry = 0;
+<a name="l00131"></a>00131 *a++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keywordflow">while</span> (carry &amp;&amp; a &lt; ae) {
+<a name="l00134"></a>00134 addt = *a + 1;
+<a name="l00135"></a>00135 *a++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(addt);
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (addt &lt; digit_overflowbit) <span class="keywordflow">break</span>;
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="comment">// No need to change length</span>
+<a name="l00143"></a>00143 target.negative = (n.negative != by.negative);
+<a name="l00144"></a>00144 target.trim();
+<a name="l00145"></a>00145 <span class="keywordflow">return</span> target;
+<a name="l00146"></a>00146 }
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 BOOST_XINT_RAWINT_TPL
+<a name="l00149"></a>00149 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator*=(<span class="keyword">const</span> BOOST_XINT_RAWINT by) {
+<a name="l00150"></a>00150 *<span class="keyword">this</span> = multiply(*<span class="keyword">this</span>, by);
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 BOOST_XINT_RAWINT_TPL
+<a name="l00155"></a>00155 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#a69c9fa493989cc96676a007f58031455" title="Calculate the product of two integers.">operator*</a>(<span class="keyword">const</span> BOOST_XINT_RAWINT n1, <span class="keyword">const</span> BOOST_XINT_RAWINT
+<a name="l00156"></a>00156 n2)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="keywordflow">return</span> multiply(n1, n2);
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 } <span class="comment">// namespace detail</span>
+<a name="l00162"></a>00162 } <span class="comment">// namespace xint</span>
+<a name="l00163"></a>00163 } <span class="comment">// namespace boost</span>
+<a name="l00165"></a>00165 <span class="comment"></span>
+<a name="l00166"></a>00166 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_MULTIPLY_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaceboost.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaceboost.html (original)
+++ sandbox/xint/libs/xint/doc/namespaceboost.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -34,7 +34,7 @@
 </p>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaceboost_1_1xint.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaceboost_1_1xint.html (original)
+++ sandbox/xint/libs/xint/doc/namespaceboost_1_1xint.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -58,8 +58,8 @@
 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; unsigned <br class="typebreak"/>
 char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">binary_t</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The format for the binary representations of integers. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a></td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This makes it easier to tell when an item is measured in bits. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This makes it easier to tell when an item is measured in bits. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function&lt; bool()&gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback function takes no parameters and returns a bool. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a3f9537c30e9c1f7341574fcd0223147c">integer</a></td></tr>
@@ -86,19 +86,19 @@
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
 </div></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> bit)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a9f0fe7813dc7e6d6d92b64cd68677175">clearbit</a> (<a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to zero. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> bit)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae44f7918320a37538c5fa8e4622cbfba">getbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> return_if_zero=0)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0">highestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> return_if_zero=0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an integer with a value of one. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> return_if_zero=0)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a8f1c7103d951ba19510458166d4fd2f4">lowestbit</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> return_if_zero=0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the lowest bit in an integer with a value of one. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921">setbit</a> (<a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> bit)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921">setbit</a> (<a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> bit)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an integer to one. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp458f92801f3edfaf2e30b1f530c324e2"></a> </p>
@@ -196,9 +196,9 @@
 traits &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a> (std::basic_istream&lt; charT, traits &gt; &amp;in, <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> &amp;n)</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Powers and roots</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp928a8cb047602f789d7433e262ed4560"></a> </p>
-<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer__t.html#a45af7d644cdfe8ae95a32c7373787389" title="Calculate the value of 2e">integer_t::pow2</a> </dd>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer__t.html#a5d14ff656a3464ecf2e81d490f1acb76" title="Calculate the value of 2e">integer_t::pow2</a> </dd>
 <dd>
-<a class="el" href="classboost_1_1xint_1_1integer__t.html#a6f3a91f5162f991ce61e9f925817129d" title="Calculate the value of n! ">integer_t::factorial</a> </dd></dl>
+<a class="el" href="classboost_1_1xint_1_1integer__t.html#a7bc8e4868073626d1ea0dc7e9668f6e0" title="Calculate the value of n! ">integer_t::factorial</a> </dd></dl>
 </div></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
 <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a499b28ba7acd8b1534bb968826e23c52">pow</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> e)</td></tr>
@@ -216,17 +216,20 @@
 <tr><td class="memTemplItemLeft" align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afd9d2c7743d11e6959d6cda44c8abf69">to</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts an <a class="el" href="namespaceboost_1_1xint.html#a3f9537c30e9c1f7341574fcd0223147c" title="The default arbitrary-length integer type.">xint::integer</a> type to a built-in integer type. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> bits=0)</td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">xint::binary_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">to_binary</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> bits=0)</td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a binary representation of an integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, size_t base=10, bool uppercase=false)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c">to_string</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;char&gt;</a>. <br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename charT , class A0 , class A1 , class A2 , class A3 , class A4 &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::basic_string&lt; charT &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string representation of the specified integer. <br/></td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;... &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">std::wstring&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b">to_wstring</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, size_t base=10, bool uppercase=false)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a wide-character string representation of the specified integer. <br/></td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">std::wstring&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27">to_wstring</a> (const <a class="el" href="classboost_1_1xint_1_1integer__t.html">integer_t</a> n, std::size_t base=10, bool uppercase=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;wchar_t&gt;</a>. <br/></td></tr>
 <tr><td colspan="2"><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A value that can be used for the 'base' parameter of the string-to-integer constructor functions. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A value that can be used for the 'base' parameter of the string-to-integer constructor functions. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">no_callback</a></td></tr>
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An empty callback_t, used as a default parameter for some functions. <br/></td></tr>
 </table>
@@ -250,12 +253,12 @@
 
 </div>
 </div>
-<a class="anchor" id="ab256530d9916860983abdb6f0c6fad63"></a><!-- doxytag: member="boost::xint::bitsize_t" ref="ab256530d9916860983abdb6f0c6fad63" args="" -->
+<a class="anchor" id="ae9f6d103df04ad19a841ed3f8b94a764"></a><!-- doxytag: member="boost::xint::bitsize_t" ref="ae9f6d103df04ad19a841ed3f8b94a764" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">typedef size_t <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">boost::xint::bitsize_t</a></td>
+ <td class="memname">typedef std::size_t <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">boost::xint::bitsize_t</a></td>
         </tr>
       </table>
 </div>
@@ -298,7 +301,7 @@
 <p>The default arbitrary-length integer type. </p>
 <p>This uses the default parameters for the <a class="el" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t</a> template. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02475">2475</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02460">2460</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -316,7 +319,7 @@
 <p>The default arbitrary-length nothrow_integer type. </p>
 <p>This uses the default parameters for the <a class="el" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t</a> template, other than the <code>nothrow</code> one. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02482">2482</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02467">2467</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -373,7 +376,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>If <code>n</code> is zero or positive, returns <code>n</code>. Otherwise returns <code>-n</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01229">1229</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01231">1231</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -417,7 +420,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01597">1597</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01587">1587</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -467,7 +470,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>-1 if <code>n1</code> &lt; <code>n2</code>; zero if <code>n1</code> == <code>n2</code>, or 1 if <code>n1</code> &gt; <code>n2</code>. The nothrow&lt;true&gt; version returns 2 instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02285">2285</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02275">2275</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -523,7 +526,7 @@
 <dd>
 <a class="el" href="classboost_1_1xint_1_1integer__t.html#ac61ca4bfdf11efc044602e8d4205f7ce">integer_t::operator%=</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01265">1265</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01267">1267</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -566,7 +569,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The greatest common denominator of the two integers, which will always be a positive number. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02217">2217</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02207">2207</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -610,7 +613,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the specified bit is set (has a value of one), <code>false</code> if it is clear. The nothrow&lt;true&gt; version returns <code>false</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01550">1550</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01540">1540</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -621,7 +624,7 @@
 template&lt;... &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> boost::xint::highestbit </td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> boost::xint::highestbit </td>
           <td>(</td>
           <td class="paramtype">const integer_t&nbsp;</td>
           <td class="paramname"> <em>n</em>, </td>
@@ -654,7 +657,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the highest one-bit in the integer, or <code>return_if_zero</code> if the integer contains no set bits. The nothrow&lt;true&gt; version returns <code>return_if_zero</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01654">1654</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01644">1644</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -704,7 +707,7 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01811">1811</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01801">1801</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -756,7 +759,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This function uses the Rabin-Miller probabilistic primality test. There is an infinitesimally small chance that it will think that a composite number is actually prime, but that is so small that it can be ignored for most practical purposes. If even that chance is too much, you can run this function over the number several times, it will use different randomly-selected "witness" numbers each time.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="primes.html">Generating Prime Numbers</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01864">1864</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01854">1854</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -799,7 +802,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The least common multiple of the two integers. If either integer is zero, then the return value will be zero, by convention; in all other cases, the return value will be a positive number. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02250">2250</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02240">2240</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -835,7 +838,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>pow2(log2(n)-1) will give you an integer with the highest set bit of <code>n</code>, assuming that <code>n</code> is non-zero.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>Similar to the <a class="el" href="namespaceboost_1_1xint.html#a47f175d3a516b6e9e851890e2ce4a9b0" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a> function. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02317">2317</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02307">2307</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -846,7 +849,7 @@
 template&lt;... &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">bitsize_t</a> boost::xint::lowestbit </td>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">bitsize_t</a> boost::xint::lowestbit </td>
           <td>(</td>
           <td class="paramtype">const integer_t&nbsp;</td>
           <td class="paramname"> <em>n</em>, </td>
@@ -879,7 +882,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The zero-based index of the lowest one-bit in the integer, or <code>return_if_zero</code> if the integer contains no set bits. The nothrow&lt;true&gt; version returns <code>return_if_zero</code> instead of throwing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01625">1625</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01615">1615</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -930,7 +933,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>n</code> * <code>by</code> % <code>modulus</code>.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01695">1695</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01685">1685</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -961,7 +964,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01962">1962</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01952">1952</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1005,7 +1008,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The remainder after dividing <code>n1</code> by <code>n2</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02105">2105</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02095">2095</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1048,7 +1051,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in both parameters turned on. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02132">2132</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02122">2122</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1092,7 +1095,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>The product of the parameters.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Automatically uses the more-efficient squaring algorithm if it can trivially detect that the two parameters are copies of the same number. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02049">2049</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02039">2039</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1135,7 +1138,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The sum of the parameters. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01993">1993</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01983">1983</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1178,7 +1181,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>The difference between the parameters. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02019">2019</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02009">2009</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1227,7 +1230,7 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02077">2077</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02067">2067</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1258,7 +1261,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01887">1887</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01877">1877</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1289,7 +1292,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02423">2423</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02413">2413</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1320,7 +1323,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01917">1917</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01907">1907</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1351,7 +1354,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01947">1947</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01937">1937</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1382,7 +1385,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01902">1902</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01892">1892</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1413,7 +1416,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01932">1932</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01922">1922</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1444,7 +1447,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02433">2433</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02423">2423</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1487,7 +1490,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter, but not both, turned on. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02186">2186</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02176">2176</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1530,7 +1533,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>A positive integer with all bits that are set in either parameter turned on. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02159">2159</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02149">2149</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1573,7 +1576,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> to the power of <code>e</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01336">1336</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01341">1341</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1639,7 +1642,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Because this function keeps the intermediate results small, it is far faster and uses far less memory than a naive implementation.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>In addition, this function will use the Montgomery Reduction internally, if the modulus is an odd number (and if <code>no_monty</code> isn't set), which is almost always faster than the non-Montgomery method. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01775">1775</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01765">1765</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1683,7 +1686,7 @@
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01573">1573</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01563">1563</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1728,7 +1731,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd>The result of <code>square(n)</code> % <code>modulus</code>.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This is purely a convenience function, to make it easier to write self-documenting code. It does not provide any additional efficiency over writing out the calculation. </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01732">1732</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01722">1722</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1763,7 +1766,7 @@
 <dl class="return"><dt><b>Returns:</b></dt><dd><code>n</code> times <code>n</code>.</dd></dl>
 <p>The repetitive nature of the input (multiplying a number by itself) allows this function to use a more-efficient algorithm than standard multiplication. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01310">1310</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01315">1315</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1803,7 +1806,7 @@
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01370">1370</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01375">1375</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1834,7 +1837,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02466">2466</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l02451">2451</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1878,7 +1881,7 @@
 </dl>
 <p>This function provides the most efficient means of converting to a built-in integral type. The nothrow&lt;true&gt; version returns T(0) instead of throwing. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01408">1408</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01413">1413</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
@@ -1931,11 +1934,11 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>A binary representation is sometimes desirable for persistent storage or transmission, as it is more space-efficient than a string representation.</dd></dl>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classboost_1_1xint_1_1integer__t.html#a864a599e2de326e6e339ffc820fd849e" title="Converts a portable binary representation of a number into an integer.">integer_t::integer_t(xint::binary_t, bitsize_t bits)</a> </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01522">1522</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01512">1512</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a34f1da34b7c169828bf55154f3cbccf2"></a><!-- doxytag: member="boost::xint::to_string" ref="a34f1da34b7c169828bf55154f3cbccf2" args="(const integer_t n, size_t base=10, bool uppercase=false)" -->
+<a class="anchor" id="a92cfd4119fbf9eeb0a503d4e0dbe553c"></a><!-- doxytag: member="boost::xint::to_string" ref="a92cfd4119fbf9eeb0a503d4e0dbe553c" args="(const integer_t n, std::size_t base=10, bool uppercase=false)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -1950,7 +1953,46 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
+ <td class="paramname"> <em>base</em> = <code>10</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>uppercase</em> = <code>false</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;char&gt;</a>. </p>
+
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01468">1468</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7621dd91fa7eb64856241f8cafd1ef7e"></a><!-- doxytag: member="boost::xint::to_stringtype" ref="a7621dd91fa7eb64856241f8cafd1ef7e" args="(const integer_t n, std::size_t base=10, bool uppercase=false)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename charT , class A0 , class A1 , class A2 , class A3 , class A4 &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">std::basic_string&lt;charT&gt; boost::xint::to_stringtype </td>
+ <td>(</td>
+ <td class="paramtype">const integer_t&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>base</em> = <code>10</code>, </td>
         </tr>
         <tr>
@@ -1972,6 +2014,12 @@
 <ul>
 <li>Complexity: O(n<sup>2</sup>)</li>
 </ul>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>charT</em>&nbsp;</td><td>The type of string to create.</td></tr>
+ </table>
+ </dd>
+</dl>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
@@ -1989,11 +2037,11 @@
 </dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when you ask the library to write an integer to a stream, but it's more flexible because you can specify any base between 2 and 36. (Streams only allow base-8, base-10, or base-16.) </dd></dl>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01442">1442</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01449">1449</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="ab1c726c14c688957565bb5d2e8478c0b"></a><!-- doxytag: member="boost::xint::to_wstring" ref="ab1c726c14c688957565bb5d2e8478c0b" args="(const integer_t n, size_t base=10, bool uppercase=false)" -->
+<a class="anchor" id="a2493d0acb308a3ec0abd7326d9bc6a27"></a><!-- doxytag: member="boost::xint::to_wstring" ref="a2493d0acb308a3ec0abd7326d9bc6a27" args="(const integer_t n, std::size_t base=10, bool uppercase=false)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -2008,7 +2056,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramtype">std::size_t&nbsp;</td>
           <td class="paramname"> <em>base</em> = <code>10</code>, </td>
         </tr>
         <tr>
@@ -2026,38 +2074,19 @@
 </div>
 <div class="memdoc">
 
-<p>Creates a wide-character string representation of the specified integer. </p>
-<ul>
-<li>Complexity: O(n<sup>2</sup>)</li>
-</ul>
-<dl><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>The integer to convert. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>base</em>&nbsp;</td><td>The base, between 2 and 36 inclusive, to convert it to. Defaults to base 10. </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>uppercase</em>&nbsp;</td><td>Whether to make alphabetic characters (for bases greater than ten) uppercase or not. Defaults to <code>false</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The string value of <code>n</code>. The nothrow&lt;true&gt; version returns the string "#NaN#" if <code>n</code> is a Not-a-Number, and an empty string instead of throwing.</dd></dl>
-<dl><dt><b>Exceptions:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1exceptions_1_1invalid__base.html">exceptions::invalid_base</a></em>&nbsp;</td><td>if base is less than two or greater than 36.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="remark"><dt><b>Remarks:</b></dt><dd>This is the function that's called when you ask the library to write an integer to a stream, but it's more flexible because you can specify any base between 2 and 36. (Streams only allow base-8, base-10, or base-16.) </dd></dl>
+<p>A shorthand function that calls <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">to_stringtype&lt;wchar_t&gt;</a>. </p>
 
-<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01479">1479</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8hpp_source.html#l01478">1478</a> of file <a class="el" href="integer_8hpp_source.html">integer.hpp</a>.</p>
 
 </div>
 </div>
 <hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a086ec65a0273dccedca0fbfbddb03398"></a><!-- doxytag: member="boost::xint::autobase" ref="a086ec65a0273dccedca0fbfbddb03398" args="" -->
+<a class="anchor" id="a6e2c55f95b91dfcb7586599faca34cb2"></a><!-- doxytag: member="boost::xint::autobase" ref="a6e2c55f95b91dfcb7586599faca34cb2" args="" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
- <td class="memname">const size_t <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td>
+ <td class="memname">const std::size_t <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">boost::xint::autobase</a> = (std::numeric_limits&lt;size_t&gt;::max)()</td>
         </tr>
       </table>
 </div>
@@ -2087,7 +2116,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1detail.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1detail.html (original)
+++ sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1detail.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -35,7 +35,7 @@
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>The items within this namespace are meant for internal use only. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1exceptions.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1exceptions.html (original)
+++ sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1exceptions.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -46,7 +46,7 @@
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Every exception the library throws is from this namespace. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1options.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1options.html (original)
+++ sandbox/xint/libs/xint/doc/namespaceboost_1_1xint_1_1options.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -77,7 +77,7 @@
 </div>
 </div>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespacemembers.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespacemembers.html (original)
+++ sandbox/xint/libs/xint/doc/namespacemembers.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -58,7 +58,7 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523">boost::xint</a>
 </li>
 <li>autobase
-: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">boost::xint</a>
 </li>
 </ul>
 
@@ -68,7 +68,7 @@
 : <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint</a>
 </li>
 <li>bitsize_t
-: <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">boost::xint</a>
 </li>
 </ul>
 
@@ -248,14 +248,17 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">boost::xint</a>
 </li>
 <li>to_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c">boost::xint</a>
+</li>
+<li>to_stringtype()
+: <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">boost::xint</a>
 </li>
 <li>to_wstring()
-: <a class="el" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespacemembers_func.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespacemembers_func.html (original)
+++ sandbox/xint/libs/xint/doc/namespacemembers_func.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -211,14 +211,17 @@
 : <a class="el" href="namespaceboost_1_1xint.html#a66514eef6594409cda1dfad652e2dc40">boost::xint</a>
 </li>
 <li>to_string()
-: <a class="el" href="namespaceboost_1_1xint.html#a34f1da34b7c169828bf55154f3cbccf2">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a92cfd4119fbf9eeb0a503d4e0dbe553c">boost::xint</a>
+</li>
+<li>to_stringtype()
+: <a class="el" href="namespaceboost_1_1xint.html#a7621dd91fa7eb64856241f8cafd1ef7e">boost::xint</a>
 </li>
 <li>to_wstring()
-: <a class="el" href="namespaceboost_1_1xint.html#ab1c726c14c688957565bb5d2e8478c0b">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a2493d0acb308a3ec0abd7326d9bc6a27">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespacemembers_type.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespacemembers_type.html (original)
+++ sandbox/xint/libs/xint/doc/namespacemembers_type.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 : <a class="el" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58">boost::xint</a>
 </li>
 <li>bitsize_t
-: <a class="el" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764">boost::xint</a>
 </li>
 <li>callback_t
 : <a class="el" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">boost::xint</a>
@@ -57,7 +57,7 @@
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespacemembers_vars.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespacemembers_vars.html (original)
+++ sandbox/xint/libs/xint/doc/namespacemembers_vars.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -35,14 +35,14 @@
 <div class="contents">
 &nbsp;<ul>
 <li>autobase
-: <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">boost::xint</a>
+: <a class="el" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2">boost::xint</a>
 </li>
 <li>no_callback
 : <a class="el" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696">boost::xint</a>
 </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/namespaces.html
==============================================================================
--- sandbox/xint/libs/xint/doc/namespaces.html (original)
+++ sandbox/xint/libs/xint/doc/namespaces.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -33,7 +33,7 @@
   <tr><td class="indexkey"><a class="el" href="namespaceboost_1_1xint_1_1options.html">boost::xint::options</a></td><td class="indexvalue">Options for the <a class="el" href="classboost_1_1xint_1_1integer__t.html" title="The integer_t class template.">integer_t</a> template are stored in this namespace </td></tr>
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/nan.html
==============================================================================
--- sandbox/xint/libs/xint/doc/nan.html (original)
+++ sandbox/xint/libs/xint/doc/nan.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 </ul>
 <p>If you attempt to do anything else with it, you will get a special value indicating failure (which will be another Not-a-Number, if the function you're calling returns an <code>integer_t</code>). </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/nan_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/nan_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/nan_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/options_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/options_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/options_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -75,7 +75,7 @@
 
 <p>Definition in file <a class="el" href="options_8hpp_source.html">options.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/options_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/options_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/options_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -83,7 +83,7 @@
 <a name="l00063"></a>00063
 <a name="l00064"></a>00064 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_INTEGER_OPTIONS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/policies_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/policies_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/policies_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="policies_8hpp_source.html">policies.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/policies_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/policies_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/policies_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -54,10 +54,10 @@
 <a name="l00037"></a>00037 BOOST_STATIC_ASSERT(<span class="keyword">sizeof</span>(<span class="keyword">typename</span> Alloc::value_type) == <span class="keyword">sizeof</span>(digit_t));
 <a name="l00038"></a>00038
 <a name="l00039"></a>00039 <span class="keyword">public</span>:
-<a name="l00040"></a>00040 <span class="keyword">static</span> magnitude_t *alloc(<span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> readonly = <span class="keyword">false</span>);
-<a name="l00041"></a>00041 <span class="keyword">static</span> magnitude_t *realloc_and_uniquify(magnitude_t *old, <span class="keywordtype">size_t</span> newsize
-<a name="l00042"></a>00042 = 0, realloc::strategy strategy = realloc::copy);
-<a name="l00043"></a>00043 <span class="keyword">static</span> magnitude_t *duplicate(magnitude_t *source, <span class="keywordtype">size_t</span> newsize = 0);
+<a name="l00040"></a>00040 <span class="keyword">static</span> magnitude_t *alloc(std::size_t size, <span class="keywordtype">bool</span> readonly = <span class="keyword">false</span>);
+<a name="l00041"></a>00041 <span class="keyword">static</span> magnitude_t *realloc_and_uniquify(magnitude_t *old, std::size_t
+<a name="l00042"></a>00042 newsize = 0, realloc::strategy strategy = realloc::copy);
+<a name="l00043"></a>00043 <span class="keyword">static</span> magnitude_t *duplicate(magnitude_t *source, std::size_t newsize = 0);
 <a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keywordtype">void</span> dealloc(magnitude_t *p);
 <a name="l00045"></a>00045
 <a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keywordtype">void</span> attach(magnitude_t *p);
@@ -65,17 +65,17 @@
 <a name="l00048"></a>00048
 <a name="l00049"></a>00049 <span class="keyword">private</span>:
 <a name="l00050"></a>00050 <span class="keyword">static</span> Alloc allocator;
-<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> fixed_length;
-<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> magnitude_datasize;
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t fixed_length;
+<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t magnitude_datasize;
 <a name="l00053"></a>00053 };
 <a name="l00054"></a>00054
 <a name="l00055"></a>00055 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
 <a name="l00056"></a>00056 Alloc allocator_t&lt;Bits, Secure, Alloc&gt;::allocator;
 <a name="l00057"></a>00057 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00058"></a>00058 <span class="keyword">const</span> <span class="keywordtype">size_t</span> allocator_t&lt;Bits, Secure, Alloc&gt;::fixed_length = (Bits +
+<a name="l00058"></a>00058 <span class="keyword">const</span> std::size_t allocator_t&lt;Bits, Secure, Alloc&gt;::fixed_length = (Bits +
 <a name="l00059"></a>00059 bits_per_digit - 1) / bits_per_digit;
 <a name="l00060"></a>00060 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00061"></a>00061 <span class="keyword">const</span> <span class="keywordtype">size_t</span> allocator_t&lt;Bits, Secure, Alloc&gt;::magnitude_datasize =
+<a name="l00061"></a>00061 <span class="keyword">const</span> std::size_t allocator_t&lt;Bits, Secure, Alloc&gt;::magnitude_datasize =
 <a name="l00062"></a>00062 (<span class="keyword">sizeof</span>(magnitude_t) + <span class="keyword">sizeof</span>(digit_t) - 1) / <span class="keyword">sizeof</span>(digit_t);
 <a name="l00063"></a>00063
 <a name="l00065"></a>00065 <span class="comment">// Fixed- or variable-length</span>
@@ -89,13 +89,13 @@
 <a name="l00073"></a>00073 }
 <a name="l00074"></a>00074
 <a name="l00075"></a>00075 <span class="keyword">private</span>:
-<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> last_digit;
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t last_digit;
 <a name="l00077"></a>00077 <span class="keyword">static</span> <span class="keyword">const</span> digit_t mask;
 <a name="l00078"></a>00078 };
 <a name="l00079"></a>00079
 <a name="l00080"></a>00080 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, bit<span class="keywordtype">size_t</span> Modded&gt;
-<a name="l00081"></a>00081 <span class="keyword">const</span> <span class="keywordtype">size_t</span> fixedlength_t&lt;Bits, Modded&gt;::last_digit = ((Bits + bits_per_digit -
-<a name="l00082"></a>00082 1) / bits_per_digit) - 1;
+<a name="l00081"></a>00081 <span class="keyword">const</span> std::size_t fixedlength_t&lt;Bits, Modded&gt;::last_digit = ((Bits +
+<a name="l00082"></a>00082 bits_per_digit - 1) / bits_per_digit) - 1;
 <a name="l00083"></a>00083 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, bit<span class="keywordtype">size_t</span> Modded&gt;
 <a name="l00084"></a>00084 <span class="keyword">const</span> digit_t fixedlength_t&lt;Bits, Modded&gt;::mask = digit_t((doubledigit_t(1) &lt;&lt;
 <a name="l00085"></a>00085 (Bits % bits_per_digit)) - 1);
@@ -109,108 +109,110 @@
 <a name="l00094"></a>00094 <span class="comment">// Function Definitions</span>
 <a name="l00095"></a>00095
 <a name="l00096"></a>00096 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00097"></a>00097 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::alloc(<span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> readonly)
-<a name="l00098"></a>00098 {
-<a name="l00099"></a>00099 <span class="keywordflow">if</span> (fixed_length) size = fixed_length;
-<a name="l00100"></a>00100 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size &lt; minimum_digits) size = minimum_digits;
-<a name="l00101"></a>00101 <span class="keyword">const</span> <span class="keywordtype">size_t</span> count = size - minimum_digits + magnitude_datasize;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 digit_t *storage = 0;
-<a name="l00104"></a>00104 <span class="keywordflow">try</span> {
-<a name="l00105"></a>00105 storage = allocator.allocate(count);
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (readonly) <span class="keywordflow">return</span> <span class="keyword">new</span>(storage) magnitude_t(size, readonly, 0);
-<a name="l00107"></a>00107 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">new</span>(storage) magnitude_t(size, readonly);
-<a name="l00108"></a>00108 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
-<a name="l00109"></a>00109 <span class="keywordflow">throw</span> exceptions::overflow_error(<span class="stringliteral">&quot;Out of memory allocating integer&quot;</span>);
-<a name="l00110"></a>00110 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00111"></a>00111 <span class="comment">// To make it exception-safe, we&#39;ve got to ensure that the allocated</span>
-<a name="l00112"></a>00112 <span class="comment">// data is properly disposed of if there&#39;s an exception, before passing</span>
-<a name="l00113"></a>00113 <span class="comment">// the exception on.</span>
-<a name="l00114"></a>00114 <span class="keywordflow">if</span> (storage) allocator.deallocate(storage, size);
-<a name="l00115"></a>00115 <span class="keywordflow">throw</span>;
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00120"></a>00120 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::realloc_and_uniquify(magnitude_t
-<a name="l00121"></a>00121 *old, <span class="keywordtype">size_t</span> newsize, realloc::strategy strategy)
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="keywordflow">if</span> (fixed_length) {
-<a name="l00124"></a>00124 newsize = fixed_length;
-<a name="l00125"></a>00125 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newsize == 0) {
-<a name="l00126"></a>00126 <span class="keywordflow">if</span> (old) newsize = old-&gt;max_length;
-<a name="l00127"></a>00127 <span class="keywordflow">else</span> newsize = minimum_digits;
-<a name="l00128"></a>00128 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newsize &lt; minimum_digits) newsize = minimum_digits;
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 magnitude_t *r = old;
-<a name="l00131"></a>00131 <span class="keywordflow">if</span> (old == 0 || newsize &gt; old-&gt;max_length || old-&gt;copies() &gt; 1) {
-<a name="l00132"></a>00132 r = alloc(newsize);
-<a name="l00133"></a>00133 attach(r);
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keywordflow">if</span> (strategy == realloc::ignore) {
-<a name="l00136"></a>00136 <span class="comment">// Do nothing.</span>
-<a name="l00137"></a>00137 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((strategy == realloc::extend || strategy == realloc::copy) &amp;&amp;
-<a name="l00138"></a>00138 old != 0)
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keyword">const</span> digit_t *s = old-&gt;digits, *se = s + old-&gt;max_length;
-<a name="l00141"></a>00141 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
-<a name="l00142"></a>00142 <span class="keywordflow">while</span> (s != se &amp;&amp; t != te) *t++ = *s++;
-<a name="l00143"></a>00143 } <span class="keywordflow">else</span> {
-<a name="l00144"></a>00144 <span class="comment">// It&#39;s realloc::zero, old == 0. Zero it.</span>
-<a name="l00145"></a>00145 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
-<a name="l00146"></a>00146 <span class="keywordflow">while</span> (t != te) *t++ = 0;
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 detach(old);
-<a name="l00150"></a>00150 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strategy == realloc::zero) {
-<a name="l00151"></a>00151 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
-<a name="l00152"></a>00152 <span class="keywordflow">while</span> (t != te) *t++ = 0;
-<a name="l00153"></a>00153 }
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keywordflow">return</span> r;
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00159"></a>00159 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::duplicate(magnitude_t *source,
-<a name="l00160"></a>00160 <span class="keywordtype">size_t</span> newsize)
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 attach(source);
-<a name="l00163"></a>00163 <span class="keywordflow">return</span> realloc_and_uniquify(source, newsize, realloc::copy);
-<a name="l00164"></a>00164 }
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00167"></a>00167 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::dealloc(magnitude_t *data) {
-<a name="l00168"></a>00168 <span class="keywordflow">if</span> (data == 0) <span class="keywordflow">return</span>;
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="keyword">const</span> <span class="keywordtype">size_t</span> len = (data-&gt;max_length + magnitude_datasize - minimum_digits);
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="comment">// Since the data was initialized with placement-new, we have to manually</span>
-<a name="l00173"></a>00173 <span class="comment">// call the destructor.</span>
-<a name="l00174"></a>00174 data-&gt; ~magnitude_t();
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="comment">// Finally, dispose of it.</span>
-<a name="l00177"></a>00177 digit_t *p = <span class="keyword">reinterpret_cast&lt;</span>digit_t*<span class="keyword">&gt;</span>(data);
-<a name="l00178"></a>00178 <span class="keywordflow">if</span> (Secure) memset(p, 0, len * <span class="keyword">sizeof</span>(digit_t));
-<a name="l00179"></a>00179 allocator.deallocate(p, len);
-<a name="l00180"></a>00180 }
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00183"></a>00183 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::attach(magnitude_t *p) {
-<a name="l00184"></a>00184 p-&gt;inc();
-<a name="l00185"></a>00185 }
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
-<a name="l00188"></a>00188 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::detach(magnitude_t *p) {
-<a name="l00189"></a>00189 <span class="keywordflow">if</span> (p-&gt;dec()) dealloc(p);
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191
-<a name="l00193"></a>00193 } <span class="comment">// namespace detail</span>
-<a name="l00194"></a>00194 } <span class="comment">// namespace xint</span>
-<a name="l00195"></a>00195 } <span class="comment">// namespace boost</span>
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_POLICY_HPP</span>
+<a name="l00097"></a>00097 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::alloc(std::size_t size, <span class="keywordtype">bool</span>
+<a name="l00098"></a>00098 readonly)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (fixed_length) size = fixed_length;
+<a name="l00101"></a>00101 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size &lt; minimum_digits) size = minimum_digits;
+<a name="l00102"></a>00102 <span class="keyword">const</span> std::size_t count = size - minimum_digits + magnitude_datasize;
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 digit_t *storage = 0;
+<a name="l00105"></a>00105 <span class="keywordflow">try</span> {
+<a name="l00106"></a>00106 storage = allocator.allocate(count);
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (readonly) <span class="keywordflow">return</span> <span class="keyword">new</span>(storage) magnitude_t(size, readonly, 0);
+<a name="l00108"></a>00108 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">new</span>(storage) magnitude_t(size, readonly);
+<a name="l00109"></a>00109 } <span class="keywordflow">catch</span> (std::bad_alloc&amp;) {
+<a name="l00110"></a>00110 <span class="keywordflow">throw</span> exceptions::overflow_error(<span class="stringliteral">&quot;Out of memory allocating integer&quot;</span>);
+<a name="l00111"></a>00111 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00112"></a>00112 <span class="comment">// To make it exception-safe, we&#39;ve got to ensure that the allocated</span>
+<a name="l00113"></a>00113 <span class="comment">// data is properly disposed of if there&#39;s an exception, before passing</span>
+<a name="l00114"></a>00114 <span class="comment">// the exception on.</span>
+<a name="l00115"></a>00115 <span class="keywordflow">if</span> (storage) allocator.deallocate(storage, size);
+<a name="l00116"></a>00116 <span class="keywordflow">throw</span>;
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
+<a name="l00121"></a>00121 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::realloc_and_uniquify(magnitude_t
+<a name="l00122"></a>00122 *old, std::size_t newsize, realloc::strategy strategy)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keywordflow">if</span> (fixed_length) {
+<a name="l00125"></a>00125 newsize = fixed_length;
+<a name="l00126"></a>00126 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newsize == 0) {
+<a name="l00127"></a>00127 <span class="keywordflow">if</span> (old) newsize = old-&gt;max_length;
+<a name="l00128"></a>00128 <span class="keywordflow">else</span> newsize = minimum_digits;
+<a name="l00129"></a>00129 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (newsize &lt; minimum_digits) newsize = minimum_digits;
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 magnitude_t *r = old;
+<a name="l00132"></a>00132 <span class="keywordflow">if</span> (old == 0 || newsize &gt; old-&gt;max_length || old-&gt;copies() &gt; 1) {
+<a name="l00133"></a>00133 r = alloc(newsize);
+<a name="l00134"></a>00134 attach(r);
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (strategy == realloc::ignore) {
+<a name="l00137"></a>00137 <span class="comment">// Do nothing.</span>
+<a name="l00138"></a>00138 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((strategy == realloc::extend || strategy == realloc::copy) &amp;&amp;
+<a name="l00139"></a>00139 old != 0)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="keyword">const</span> digit_t *s = old-&gt;digits, *se = s + old-&gt;max_length;
+<a name="l00142"></a>00142 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
+<a name="l00143"></a>00143 <span class="keywordflow">while</span> (s != se &amp;&amp; t != te) *t++ = *s++;
+<a name="l00144"></a>00144 } <span class="keywordflow">else</span> {
+<a name="l00145"></a>00145 <span class="comment">// It&#39;s realloc::zero, old == 0. Zero it.</span>
+<a name="l00146"></a>00146 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
+<a name="l00147"></a>00147 <span class="keywordflow">while</span> (t != te) *t++ = 0;
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 detach(old);
+<a name="l00151"></a>00151 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strategy == realloc::zero) {
+<a name="l00152"></a>00152 digit_t *t = r-&gt;digits, *te = t + r-&gt;max_length;
+<a name="l00153"></a>00153 <span class="keywordflow">while</span> (t != te) *t++ = 0;
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keywordflow">return</span> r;
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
+<a name="l00160"></a>00160 magnitude_t *allocator_t&lt;Bits, Secure, Alloc&gt;::duplicate(magnitude_t *source,
+<a name="l00161"></a>00161 std::size_t newsize)
+<a name="l00162"></a>00162 {
+<a name="l00163"></a>00163 attach(source);
+<a name="l00164"></a>00164 <span class="keywordflow">return</span> realloc_and_uniquify(source, newsize, realloc::copy);
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
+<a name="l00168"></a>00168 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::dealloc(magnitude_t *data) {
+<a name="l00169"></a>00169 <span class="keywordflow">if</span> (data == 0) <span class="keywordflow">return</span>;
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">const</span> std::size_t len = (data-&gt;max_length + magnitude_datasize -
+<a name="l00172"></a>00172 minimum_digits);
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="comment">// Since the data was initialized with placement-new, we have to manually</span>
+<a name="l00175"></a>00175 <span class="comment">// call the destructor.</span>
+<a name="l00176"></a>00176 data-&gt; ~magnitude_t();
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="comment">// Finally, dispose of it.</span>
+<a name="l00179"></a>00179 digit_t *p = <span class="keyword">reinterpret_cast&lt;</span>digit_t*<span class="keyword">&gt;</span>(data);
+<a name="l00180"></a>00180 <span class="keywordflow">if</span> (Secure) memset(p, 0, len * <span class="keyword">sizeof</span>(digit_t));
+<a name="l00181"></a>00181 allocator.deallocate(p, len);
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
+<a name="l00185"></a>00185 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::attach(magnitude_t *p) {
+<a name="l00186"></a>00186 p-&gt;inc();
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class</span> Alloc&gt;
+<a name="l00190"></a>00190 <span class="keywordtype">void</span> allocator_t&lt;Bits, Secure, Alloc&gt;::detach(magnitude_t *p) {
+<a name="l00191"></a>00191 <span class="keywordflow">if</span> (p-&gt;dec()) dealloc(p);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00195"></a>00195 } <span class="comment">// namespace detail</span>
+<a name="l00196"></a>00196 } <span class="comment">// namespace xint</span>
+<a name="l00197"></a>00197 } <span class="comment">// namespace boost</span>
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_POLICY_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/powers_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/powers_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/powers_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="powers_8hpp_source.html">powers.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/powers_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/powers_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/powers_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -60,13 +60,13 @@
 <a name="l00042"></a>00042
 <a name="l00043"></a>00043 <span class="keywordtype">bool</span> neg = (!n.is_zero() &amp;&amp; n.negative &amp;&amp; e.is_odd());
 <a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keywordtype">size_t</span> lastBitCount = 0;
+<a name="l00045"></a>00045 std::size_t lastBitCount = 0;
 <a name="l00046"></a>00046 digit_t ee(e[e.length - 1]);
 <a name="l00047"></a>00047 <span class="keywordflow">while</span> (ee != 0) { ee &gt;&gt;= 1; ++lastBitCount; }
 <a name="l00048"></a>00048
 <a name="l00049"></a>00049 BOOST_XINT_RAWINT p(n.abs());
 <a name="l00050"></a>00050 target.set(1);
-<a name="l00051"></a>00051 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> eIndex = 0; eIndex &lt; e.length; ++eIndex) {
+<a name="l00051"></a>00051 <span class="keywordflow">for</span> (std::size_t eIndex = 0; eIndex &lt; e.length; ++eIndex) {
 <a name="l00052"></a>00052 digit_t eee(e[eIndex]);
 <a name="l00053"></a>00053
 <a name="l00054"></a>00054 <span class="keywordtype">int</span> bitCount(<span class="keywordtype">int</span>(eIndex == e.length - 1 ? lastBitCount :
@@ -81,29 +81,30 @@
 <a name="l00063"></a>00063 target.trim();
 <a name="l00064"></a>00064 }
 <a name="l00065"></a>00065
-<a name="l00066"></a>00066 BOOST_XINT_RAWINT_TPL <span class="keywordtype">void</span> pow2(BOOST_XINT_RAWINT&amp; target, <span class="keywordtype">size_t</span> exponent) {
-<a name="l00067"></a>00067 target.set(0);
-<a name="l00068"></a>00068 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(target, exponent);
-<a name="l00069"></a>00069 target.trim();
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 BOOST_XINT_RAWINT_TPL <span class="keywordtype">void</span> factorial(BOOST_XINT_RAWINT&amp; target, <span class="keywordtype">size_t</span> n) {
-<a name="l00073"></a>00073 target.set(1);
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 BOOST_XINT_RAWINT one(1), nn(n);
-<a name="l00076"></a>00076 <span class="keywordflow">while</span> (nn &gt; one) {
-<a name="l00077"></a>00077 target *= nn;
-<a name="l00078"></a>00078 --nn;
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00083"></a>00083 } <span class="comment">// namespace detail</span>
-<a name="l00084"></a>00084 } <span class="comment">// namespace xint</span>
-<a name="l00085"></a>00085 } <span class="comment">// namespace boost</span>
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_POWERS_HPP</span>
+<a name="l00066"></a>00066 BOOST_XINT_RAWINT_TPL <span class="keywordtype">void</span> pow2(BOOST_XINT_RAWINT&amp; target, std::size_t exponent)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 target.set(0);
+<a name="l00069"></a>00069 <a class="code" href="namespaceboost_1_1xint.html#ac16087b6d58edabc3b67c94e63e22921" title="Sets a specific bit in an integer to one.">setbit</a>(target, exponent);
+<a name="l00070"></a>00070 target.trim();
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 BOOST_XINT_RAWINT_TPL <span class="keywordtype">void</span> factorial(BOOST_XINT_RAWINT&amp; target, std::size_t n) {
+<a name="l00074"></a>00074 target.set(1);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 BOOST_XINT_RAWINT one(1), nn(n);
+<a name="l00077"></a>00077 <span class="keywordflow">while</span> (nn &gt; one) {
+<a name="l00078"></a>00078 target *= nn;
+<a name="l00079"></a>00079 --nn;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082
+<a name="l00084"></a>00084 } <span class="comment">// namespace detail</span>
+<a name="l00085"></a>00085 } <span class="comment">// namespace xint</span>
+<a name="l00086"></a>00086 } <span class="comment">// namespace boost</span>
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_POWERS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/prime_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/prime_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/prime_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="prime_8hpp_source.html">prime.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/prime_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/prime_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/prime_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -132,7 +132,7 @@
 <a name="l00114"></a>00114
 <a name="l00115"></a>00115 BOOST_XINT_RAWINT_TPL
 <a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GenType&gt;
-<a name="l00117"></a>00117 BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_prime(GenType&amp; gen, <span class="keywordtype">size_t</span>
+<a name="l00117"></a>00117 BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_prime(GenType&amp; gen, std::size_t
 <a name="l00118"></a>00118 size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback)
 <a name="l00119"></a>00119 {
 <a name="l00120"></a>00120 <span class="keywordflow">if</span> (size_in_bits &lt; 2) <span class="keywordflow">throw</span> exceptions::invalid_argument(<span class="stringliteral">&quot;cannot create &quot;</span>
@@ -166,7 +166,7 @@
 <a name="l00149"></a>00149 <span class="comment"></span>
 <a name="l00150"></a>00150 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_PRIME_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/primes.html
==============================================================================
--- sandbox/xint/libs/xint/doc/primes.html (original)
+++ sandbox/xint/libs/xint/doc/primes.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -65,7 +65,7 @@
 }
 </pre></div><p>(You can find it in the <code>examples</code> directory, by the name <code>genprime.cpp</code>.) </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/primes_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/primes_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/primes_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/primes.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__core.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__core.html (original)
+++ sandbox/xint/libs/xint/doc/r__core.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -31,7 +31,7 @@
 <p>To deal with this, I separated the <code>xint::integer</code> and <code>xint::nothrow_integer</code> types. <code>xint::integer</code> functions now always throw exceptions on errors, and always hold valid numbers; <code>xint::nothrow_integer</code> functions (as implied by the name) never throw exceptions, instead returning the Not-a-Number value (which only <code>nothrow_integer</code> can hold).</p>
 <p>This design ensures that the Not-a-Number value only needs to be checked for in the <code>nothrow_integer</code> code, and ensures that any speed penalty from it is only incurred by people who choose to use the <code>nothrow_integer</code> type. It also preserves the no-exceptions behavior, which is useful under some circumstances. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__core_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__core_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__core_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_core.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__cow.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__cow.html (original)
+++ sandbox/xint/libs/xint/doc/r__cow.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 <p>It <em>can</em> cause problems when you try to use the library from multiple threads at the same time, which is why it's only used in the (single-threaded) internal functions. By default, when you get a number back from the library, it has its own unique storage, so it can be safely used across multiple threads; if you don't need to use integer objects outside of the thread that they're created in, you can disable that by setting the <code>Threadsafe</code> template parameter to <code>false</code>.</p>
 <p>Note that even with the <code>Threadsafe</code> option set to <code>true</code>, you still have to ensure that only one thread accesses a particular <code>integer</code> at a time. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__cow_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__cow_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__cow_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_cow.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__exception__blocking.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__exception__blocking.html (original)
+++ sandbox/xint/libs/xint/doc/r__exception__blocking.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 <p>There are also times when exception-handling can get in the way of writing code that is easily understandable by other people. Any software developer understands calling a function and checking the return value to see if there was an error; it's a standard idiom in essentially any programming language, and it's even widely used in the C++ Standard Template Library (see <code>std::string::find</code>, for just one example).</p>
 <p>Writing code that is <em>human-readable</em> -- not just machine-readable -- is difficult, and there's little that anyone can do to change that. But giving the developer the choice to use either exceptions or error codes, depending on which is most readable, makes it easier to produce such code, and costs nothing to the people who choose not to use it. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__exception__blocking_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__exception__blocking_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__exception__blocking_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_exception_blocking.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__insecure__default.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__insecure__default.html (original)
+++ sandbox/xint/libs/xint/doc/r__insecure__default.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_insecure_default">But why have an insecure random number generator as the default? Why not default to the secure one? </a></h1><p>Because the secure one isn't available on all systems. If the library relied on <code>random_device</code> as a default, it wouldn't compile under those systems. If it used <code>xint::strong_random_generator</code>, it would compile, but would always fail on them. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__insecure__default_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__insecure__default_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__insecure__default_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_insecure_default.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__interface.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__interface.html (original)
+++ sandbox/xint/libs/xint/doc/r__interface.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <dd>
 n1744: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1744.pdf </dd></dl>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__interface_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__interface_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__interface_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_interface.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__interface__design__only.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__interface__design__only.html (original)
+++ sandbox/xint/libs/xint/doc/r__interface__design__only.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -30,7 +30,7 @@
 <li>It does not, at present, implement a multiplication scheme with better performance than the "basecase" mentioned in section 3.4 of n1692, primarily because I haven't had the time to research all of them yet. I suspect that most people using the library will usually be using numbers below the threshold where the more exotic algorithms are faster, but I plan to add at least one of them in the future, maybe several. </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__interface__design__only_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__interface__design__only_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__interface__design__only_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_interface_design_only.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__nan.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__nan.html (original)
+++ sandbox/xint/libs/xint/doc/r__nan.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_nan">Why have a Not-a-Number value? </a></h1><p>Because it's the cleanest way I could find to return answers that don't represent a valid number, which is necessary for the <code>nothrow_integer</code> type. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__nan_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__nan_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__nan_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_nan.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__negzero.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__negzero.html (original)
+++ sandbox/xint/libs/xint/doc/r__negzero.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_negzero">Since you've got Not-a-Number, what about negative zero, and positive and negative infinity, like IEEE floating-point numbers? </a></h1><p>The library does have limited support for a <a class="el" href="zero.html">"negative zero"</a> value, to support an unlimited-precision floating point type that will be built on it later. But infinity is a concept, not a countable value, and as such it is not included in the library at present. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__negzero_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__negzero_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__negzero_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_negzero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__no__floats.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__no__floats.html (original)
+++ sandbox/xint/libs/xint/doc/r__no__floats.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="r_no_floats">Why didn't you provide conversions to and from float/double types? </a></h1><p>Although it might not be obvious, there is occasionally a need for such conversions. Unfortunately, unlike integers, there is no universal representation for floating-point values. Even IEEE 754, the most widely used floating-point specification, isn't completely nailed down -- it doesn't specify the endianness of the fields, making it difficult to provide code that would work on all systems. What's worse, the C/C++ <code>float</code> and <code>double</code> types don't have to be encoded in an IEEE 754 format at all.</p>
 <p>I'd like to provide such conversions, and I'll keep looking for ways to do so. It may turn out to be possible to do them through a string format, for instance. But for now, the library only provides conversions to and from integral values. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__nofloats_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__nofloats_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__nofloats_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_nofloats.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__random.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__random.html (original)
+++ sandbox/xint/libs/xint/doc/r__random.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_random">Why did you implement your own random number generator? You should use Boost.Random instead. </a></h1><p>Boost.Random provides <code>boost::random_device</code> to tap into the operating system's strong random number generator, but at the time of this writing, the official released version only defines it for Linux and BSD systems. The current maintainer, Steven Watanabe, says that he has just added Windows compatibility to it, so the <code>xint::strong_random_generator</code> class will likely be reduced to a typedef for <code>boost::random_device</code>, or a thin shell around it, in the near future. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__random_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__random_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__random_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__shared__ptr.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__shared__ptr.html (original)
+++ sandbox/xint/libs/xint/doc/r__shared__ptr.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -25,7 +25,7 @@
 
 <h1><a class="anchor" id="r_shared_ptr">Why are you using a roll-your-own system instead of <code>boost::shared_ptr</code> for the copy-on-write stuff? </a></h1><p>Because it's a lot faster. I tried <code>boost::shared_ptr</code>, and under Linux with GCC 4.4.1 on the same computer, running my test suite went from 1.6 seconds to 3.4 seconds. The home-grown shared pointer design may not be quite as easy to work with in an exception-safe manner, but that's completely internal to the <code>integer</code> classes, so only developers working <em>on</em> the library, rather than <em>with</em> it, have to deal with that. I'll accept that trade-off. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__shared__ptr_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__shared__ptr_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__shared__ptr_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_shared_ptr.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__too__big.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__too__big.html (original)
+++ sandbox/xint/libs/xint/doc/r__too__big.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 report a range error in internal computations." That didn't quite sound like what I was trying to convey with that exception, which is that the <code>integer_t</code> that the user is trying to convert won't fit into the type that he's trying to convert it to. It does inherit from std::range_error though, so you can use either for most things, and get more specific if desired.</p>
 <p>In addition, it seemed discordant to me to have a library that <em>almost</em> always throws exceptions from a particular namespace. It was almost no additional work to make it <em>always</em> throw from a specific namespace, and it fit my sense of rightness. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__toobig_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__toobig_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__toobig_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_toobig.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__whynotx.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__whynotx.html (original)
+++ sandbox/xint/libs/xint/doc/r__whynotx.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -30,7 +30,7 @@
 </ul>
 <p>By all means, make suggestions. But don't be offended if I respond by referring you to this page. It only means that I feel that your suggestion isn't appropriate for this version, because it would delay it further, not that it isn't appropriate at all. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/r__whynotx_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/r__whynotx_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/r__whynotx_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/r_whynotx.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random.html (original)
+++ sandbox/xint/libs/xint/doc/random.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -29,7 +29,7 @@
 <p>If you have a different preferred generator, perhaps one that interfaces with dedicated hardware to produce randomness, you can plug that into the library's <code>random_by_size</code> and <code>random_prime</code> functions instead.</p>
 <p>See the code at the top of <a class="el" href="primes.html">the Prime Numbers page</a> for an example of how to use these generators to produce secure prime numbers. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/random_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/random.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/random_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -56,7 +56,7 @@
 
 <p>Definition in file <a class="el" href="random_8hpp_source.html">random.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/random_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -103,7 +103,7 @@
 <a name="l00101"></a>00101
 <a name="l00102"></a>00102 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random__by__size_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random__by__size_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/random__by__size_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="random__by__size_8hpp_source.html">random_by_size.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/random__by__size_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/random__by__size_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/random__by__size_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -45,7 +45,7 @@
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 BOOST_XINT_RAWINT_TPL
 <a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> GenType&gt;
-<a name="l00030"></a>00030 BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_by_size(GenType&amp; _gen, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a>
+<a name="l00030"></a>00030 BOOST_XINT_RAWINT BOOST_XINT_RAWINT::random_by_size(GenType&amp; _gen, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a>
 <a name="l00031"></a>00031 bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span> can_be_negative)
 <a name="l00032"></a>00032 {
 <a name="l00033"></a>00033 <span class="keywordflow">if</span> (bits == 0) <span class="keywordflow">return</span> 0;
@@ -58,14 +58,14 @@
 <a name="l00040"></a>00040
 <a name="l00041"></a>00041 <span class="comment">// Stick them into an integer</span>
 <a name="l00042"></a>00042 BOOST_XINT_RAWINT target;
-<a name="l00043"></a>00043 <span class="keywordtype">size_t</span> d = bits_to_digits(bits);
+<a name="l00043"></a>00043 std::size_t d = bits_to_digits(bits);
 <a name="l00044"></a>00044 digit_t *tdigits = target.digits(d, realloc::ignore);
 <a name="l00045"></a>00045 target.length = (std::min)(d + 1, target.max_length());
 <a name="l00046"></a>00046 digit_t *pp = tdigits, *ppe = pp + target.length;
 <a name="l00047"></a>00047 <span class="keywordflow">while</span> (pp &lt; ppe) *pp++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(bitqueue.pop(bits_per_digit));
 <a name="l00048"></a>00048
 <a name="l00049"></a>00049 <span class="comment">// Trim it to the proper length</span>
-<a name="l00050"></a>00050 <span class="keywordtype">size_t</span> index = (bits / bits_per_digit);
+<a name="l00050"></a>00050 std::size_t index = (bits / bits_per_digit);
 <a name="l00051"></a>00051 digit_t mask = (digit_t(1) &lt;&lt; (bits % bits_per_digit)) - 1;
 <a name="l00052"></a>00052 <span class="keywordflow">if</span> (mask == 0) { mask = digit_mask; --index; }
 <a name="l00053"></a>00053 target.length = index + 1;
@@ -86,7 +86,7 @@
 <a name="l00069"></a>00069
 <a name="l00070"></a>00070 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOM_BY_SIZE_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/randomgen_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/randomgen_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/randomgen_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="randomgen_8hpp_source.html">randomgen.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/randomgen_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/randomgen_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/randomgen_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -158,7 +158,7 @@
 <a name="l00142"></a>00142 <span class="comment"></span>
 <a name="l00143"></a>00143 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RANDOMGEN_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/rationale.html
==============================================================================
--- sandbox/xint/libs/xint/doc/rationale.html (original)
+++ sandbox/xint/libs/xint/doc/rationale.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -57,7 +57,7 @@
 <li><a class="el" href="r__whynotx.html">I've got a great idea! Why don't you do <em>X</em>?</a> </li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/rationale_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/rationale_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/rationale_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/rationale.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/raw__integer_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/raw__integer_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/raw__integer_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="raw__integer_8hpp_source.html">raw_integer.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/raw__integer_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/raw__integer_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/raw__integer_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -53,7 +53,7 @@
 <a name="l00036"></a>00036 <span class="keyword">typedef</span> magnitude_manager_t&lt;Bits, Secure, Alloc&gt; datatype;
 <a name="l00037"></a>00037 <span class="keyword">typedef</span> base_divide_t&lt;BOOST_XINT_RAWINT&gt; divide_t;
 <a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keywordtype">size_t</span> length;
+<a name="l00039"></a>00039 std::size_t length;
 <a name="l00040"></a>00040 <span class="keywordtype">bool</span> negative;
 <a name="l00041"></a>00041
 <a name="l00042"></a>00042 raw_integer_t(): length(1), negative(false), changed(false) { }
@@ -68,212 +68,222 @@
 <a name="l00051"></a>00051 <span class="keyword">false</span>): length(copy.length), negative(neg), changed(false),
 <a name="l00052"></a>00052 data(copy.data) { trim(allow_zero); }
 <a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00054"></a>00054 raw_integer_t(T n, <span class="keywordtype">size_t</span> prealloc = 0, <span class="keyword">typename</span> boost::enable_if&lt;
+<a name="l00054"></a>00054 raw_integer_t(T n, std::size_t prealloc = 0, <span class="keyword">typename</span> boost::enable_if&lt;
 <a name="l00055"></a>00055 boost::is_integral&lt;T&gt; &gt;::type* = 0): length(1), negative(false),
 <a name="l00056"></a>00056 changed(false) { <span class="keywordflow">if</span> (std::numeric_limits&lt;T&gt;::is_signed) set_signed(n,
 <a name="l00057"></a>00057 prealloc); <span class="keywordflow">else</span> set_unsigned(n, <span class="keyword">false</span>, prealloc); }
 <a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00059"></a>00059 raw_integer_t(<span class="keyword">const</span> charT *s, <span class="keywordtype">size_t</span> base = 10): length(1), negative(false),
-<a name="l00060"></a>00060 changed(false) { from_string(s, base); }
+<a name="l00059"></a>00059 raw_integer_t(<span class="keyword">const</span> charT *s, std::size_t base = 10): length(1),
+<a name="l00060"></a>00060 negative(false), changed(false) { from_string(s, base); }
 <a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00062"></a>00062 raw_integer_t(<span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; s, <span class="keywordtype">size_t</span> base = 10):
-<a name="l00063"></a>00063 length(1), negative(false), changed(false) { from_string(s, base); }
-<a name="l00064"></a>00064 raw_integer_t(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <span class="keywordtype">size_t</span> bits = 0): length(1),
-<a name="l00065"></a>00065 negative(false), changed(false) { from_binary(b, bits); }
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 BOOST_XINT_RAWINT&amp; operator=(<span class="keyword">const</span> BOOST_XINT_RAWINT&amp; <span class="keyword">set</span>) { length =
-<a name="l00068"></a>00068 <span class="keyword">set</span>.length; negative = <span class="keyword">set</span>.negative; data = <span class="keyword">set</span>.data; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 digit_t *digits(<span class="keywordtype">size_t</span> resize, realloc::strategy strategy = realloc::copy);
-<a name="l00071"></a>00071 <span class="keyword">const</span> digit_t *digits()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.digits(); }
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 digit_t get_digit(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &lt; max_length() ? digits()[i] :
-<a name="l00074"></a>00074 0); }
-<a name="l00075"></a>00075 digit_t operator[](<span class="keywordtype">size_t</span> i) { <span class="keywordflow">return</span> digits()[i]; }
-<a name="l00076"></a>00076 digit_t operator[](<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> get_digit(i); }
-<a name="l00077"></a>00077 <span class="keywordtype">size_t</span> max_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.max_length(); }
-<a name="l00078"></a>00078 <span class="keywordtype">bool</span> same_storage(<span class="keyword">const</span> BOOST_XINT_RAWINT n)<span class="keyword"> const </span>{ <span class="keywordflow">return</span>
-<a name="l00079"></a>00079 data.same_storage(n.data); }
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keywordtype">int</span> sign()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> negative ? -1 : is_zero() ? 0 : 1; }
-<a name="l00082"></a>00082 <span class="keywordtype">int</span> sign(<span class="keywordtype">bool</span> allow_signed_zero)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (!allow_signed_zero &amp;&amp;
-<a name="l00083"></a>00083 is_zero() ? 0 : negative ? -1 : 1); }
-<a name="l00084"></a>00084 <span class="keywordtype">bool</span> is_zero()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (length == 1 &amp;&amp; digits()[0] == 0); }
-<a name="l00085"></a>00085 <span class="keywordtype">bool</span> is_odd()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (digits()[0] &amp; 0x01) != 0; }
-<a name="l00086"></a>00086 <span class="keywordtype">bool</span> is_even()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (digits()[0] &amp; 0x01) == 0; }
-<a name="l00087"></a>00087 <span class="keywordtype">size_t</span> hex_digits()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(*<span class="keyword">this</span>) + 3) / 4; }
-<a name="l00088"></a>00088 raw_integer_t <a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523" title="Returns the absolute value of an integer.">abs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_integer_t(*<span class="keyword">this</span>, <span class="keyword">false</span>); }
-<a name="l00089"></a>00089 raw_integer_t negate()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_integer_t(*<span class="keyword">this</span>, !negative); }
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keywordtype">int</span> n) { set_signed(n); }
-<a name="l00092"></a>00092 <span class="keywordtype">void</span> set_signed(boost::intmax_t n, <span class="keywordtype">size_t</span> prealloc = 0);
-<a name="l00093"></a>00093 <span class="keywordtype">void</span> set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> neg = <span class="keyword">false</span>, <span class="keywordtype">size_t</span> prealloc =
-<a name="l00094"></a>00094 0);
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordtype">bool</span> is_nan()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_nan(); }
-<a name="l00097"></a>00097 <span class="keywordtype">void</span> make_nan() { data.make_nan(); }
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keywordtype">bool</span> is_unique()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_unique(); }
-<a name="l00100"></a>00100 <span class="keywordtype">void</span> make_unique() { <span class="keywordflow">if</span> (!is_unique()) data.resize_and_uniquify(length); }
+<a name="l00062"></a>00062 raw_integer_t(<span class="keyword">const</span> charT *s, <span class="keyword">const</span> charT*&amp; endptr, std::size_t base = 10):
+<a name="l00063"></a>00063 length(1), negative(false), changed(false) { from_string(s, endptr,
+<a name="l00064"></a>00064 base); }
+<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traitsT, <span class="keyword">typename</span> allocT&gt;
+<a name="l00066"></a>00066 raw_integer_t(<span class="keyword">const</span> std::basic_string&lt;charT, traitsT, allocT&gt;&amp; s,
+<a name="l00067"></a>00067 std::size_t base = 10): length(1), negative(false), changed(false) {
+<a name="l00068"></a>00068 from_string(s, base); }
+<a name="l00069"></a>00069 raw_integer_t(<span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, std::size_t bits = 0): length(1),
+<a name="l00070"></a>00070 negative(false), changed(false) { from_binary(b, bits); }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 BOOST_XINT_RAWINT&amp; operator=(<span class="keyword">const</span> BOOST_XINT_RAWINT&amp; <span class="keyword">set</span>) { length =
+<a name="l00073"></a>00073 <span class="keyword">set</span>.length; negative = <span class="keyword">set</span>.negative; data = <span class="keyword">set</span>.data; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 digit_t *digits(std::size_t resize, realloc::strategy strategy =
+<a name="l00076"></a>00076 realloc::copy);
+<a name="l00077"></a>00077 <span class="keyword">const</span> digit_t *digits()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.digits(); }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 digit_t get_digit(std::size_t i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (i &lt; max_length() ?
+<a name="l00080"></a>00080 digits()[i] : 0); }
+<a name="l00081"></a>00081 digit_t operator[](std::size_t i) { <span class="keywordflow">return</span> digits()[i]; }
+<a name="l00082"></a>00082 digit_t operator[](std::size_t i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> get_digit(i); }
+<a name="l00083"></a>00083 std::size_t max_length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.max_length(); }
+<a name="l00084"></a>00084 <span class="keywordtype">bool</span> same_storage(<span class="keyword">const</span> BOOST_XINT_RAWINT n)<span class="keyword"> const </span>{ <span class="keywordflow">return</span>
+<a name="l00085"></a>00085 data.same_storage(n.data); }
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keywordtype">int</span> sign()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> negative ? -1 : is_zero() ? 0 : 1; }
+<a name="l00088"></a>00088 <span class="keywordtype">int</span> sign(<span class="keywordtype">bool</span> allow_signed_zero)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (!allow_signed_zero &amp;&amp;
+<a name="l00089"></a>00089 is_zero() ? 0 : negative ? -1 : 1); }
+<a name="l00090"></a>00090 <span class="keywordtype">bool</span> is_zero()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (length == 1 &amp;&amp; digits()[0] == 0); }
+<a name="l00091"></a>00091 <span class="keywordtype">bool</span> is_odd()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (digits()[0] &amp; 0x01) != 0; }
+<a name="l00092"></a>00092 <span class="keywordtype">bool</span> is_even()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (digits()[0] &amp; 0x01) == 0; }
+<a name="l00093"></a>00093 std::size_t hex_digits()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="namespaceboost_1_1xint.html#ab6cef2e4e1b3c3b841f6c1a085952f18" title="Get the log2 value of an integer.">log2</a>(*<span class="keyword">this</span>) + 3) / 4; }
+<a name="l00094"></a>00094 raw_integer_t <a class="code" href="namespaceboost_1_1xint.html#a5a98564162f30f3117a871a617af9523" title="Returns the absolute value of an integer.">abs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_integer_t(*<span class="keyword">this</span>, <span class="keyword">false</span>); }
+<a name="l00095"></a>00095 raw_integer_t negate()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> raw_integer_t(*<span class="keyword">this</span>, !negative); }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keywordtype">int</span> n) { set_signed(n); }
+<a name="l00098"></a>00098 <span class="keywordtype">void</span> set_signed(boost::intmax_t n, std::size_t prealloc = 0);
+<a name="l00099"></a>00099 <span class="keywordtype">void</span> set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> neg = <span class="keyword">false</span>, std::size_t prealloc
+<a name="l00100"></a>00100 = 0);
 <a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keywordtype">void</span> trim(<span class="keywordtype">bool</span> allow_negative_zero = <span class="keyword">false</span>);
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 raw_integer_t&amp; operator++(); <span class="comment">// Preincrement</span>
-<a name="l00105"></a>00105 raw_integer_t&amp; operator--(); <span class="comment">// Predecrement</span>
-<a name="l00106"></a>00106 raw_integer_t operator++(<span class="keywordtype">int</span>); <span class="comment">// Postincrement</span>
-<a name="l00107"></a>00107 raw_integer_t operator--(<span class="keywordtype">int</span>); <span class="comment">// Postdecrement</span>
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keywordtype">bool</span> operator!()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> is_zero(); }
-<a name="l00110"></a>00110 raw_integer_t <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">operator-</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BOOST_XINT_RAWINT(*<span class="keyword">this</span>,
-<a name="l00111"></a>00111 !negative, <span class="keyword">true</span>); }
-<a name="l00112"></a>00112 raw_integer_t&amp; <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00113"></a>00113 <span class="keyword">const</span> raw_integer_t&amp; <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00114"></a>00114 raw_integer_t operator~() <span class="keyword">const</span>; <span class="comment">// For fixed-size types only!</span>
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 raw_integer_t&amp; operator+=(<span class="keyword">const</span> raw_integer_t b);
-<a name="l00117"></a>00117 raw_integer_t&amp; operator-=(<span class="keyword">const</span> raw_integer_t b);
-<a name="l00118"></a>00118 raw_integer_t&amp; operator*=(<span class="keyword">const</span> raw_integer_t b);
-<a name="l00119"></a>00119 raw_integer_t&amp; operator/=(<span class="keyword">const</span> raw_integer_t b);
-<a name="l00120"></a>00120 raw_integer_t&amp; operator%=(<span class="keyword">const</span> raw_integer_t b);
+<a name="l00102"></a>00102 <span class="keywordtype">bool</span> is_nan()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_nan(); }
+<a name="l00103"></a>00103 <span class="keywordtype">void</span> make_nan() { data.make_nan(); }
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> is_unique()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data.is_unique(); }
+<a name="l00106"></a>00106 <span class="keywordtype">void</span> make_unique() { <span class="keywordflow">if</span> (!is_unique()) data.resize_and_uniquify(length); }
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordtype">void</span> trim(<span class="keywordtype">bool</span> allow_negative_zero = <span class="keyword">false</span>);
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 raw_integer_t&amp; operator++(); <span class="comment">// Preincrement</span>
+<a name="l00111"></a>00111 raw_integer_t&amp; operator--(); <span class="comment">// Predecrement</span>
+<a name="l00112"></a>00112 raw_integer_t operator++(<span class="keywordtype">int</span>); <span class="comment">// Postincrement</span>
+<a name="l00113"></a>00113 raw_integer_t operator--(<span class="keywordtype">int</span>); <span class="comment">// Postdecrement</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keywordtype">bool</span> operator!()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> is_zero(); }
+<a name="l00116"></a>00116 raw_integer_t <a class="code" href="namespaceboost_1_1xint.html#acda2a7a7d63582732505cc7128096f27" title="Calculate the difference between two integers.">operator-</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BOOST_XINT_RAWINT(*<span class="keyword">this</span>,
+<a name="l00117"></a>00117 !negative, <span class="keyword">true</span>); }
+<a name="l00118"></a>00118 raw_integer_t&amp; <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00119"></a>00119 <span class="keyword">const</span> raw_integer_t&amp; <a class="code" href="namespaceboost_1_1xint.html#a88b3b7bccb96dd8b0cd9d9f853025915" title="Calculate the sum of two integers.">operator+</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00120"></a>00120 raw_integer_t operator~() <span class="keyword">const</span>; <span class="comment">// For fixed-size types only!</span>
 <a name="l00121"></a>00121
-<a name="l00122"></a>00122 raw_integer_t&amp; operator&amp;=(<span class="keyword">const</span> raw_integer_t n);
-<a name="l00123"></a>00123 raw_integer_t&amp; operator|=(<span class="keyword">const</span> raw_integer_t n);
-<a name="l00124"></a>00124 raw_integer_t&amp; operator^=(<span class="keyword">const</span> raw_integer_t n);
-<a name="l00125"></a>00125 raw_integer_t&amp; operator&lt;&lt;=(<span class="keywordtype">size_t</span> shift);
-<a name="l00126"></a>00126 raw_integer_t&amp; operator&gt;&gt;=(<span class="keywordtype">size_t</span> shift);
+<a name="l00122"></a>00122 raw_integer_t&amp; operator+=(<span class="keyword">const</span> raw_integer_t b);
+<a name="l00123"></a>00123 raw_integer_t&amp; operator-=(<span class="keyword">const</span> raw_integer_t b);
+<a name="l00124"></a>00124 raw_integer_t&amp; operator*=(<span class="keyword">const</span> raw_integer_t b);
+<a name="l00125"></a>00125 raw_integer_t&amp; operator/=(<span class="keyword">const</span> raw_integer_t b);
+<a name="l00126"></a>00126 raw_integer_t&amp; operator%=(<span class="keyword">const</span> raw_integer_t b);
 <a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00129"></a>00129 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> charT *str, <span class="keywordtype">size_t</span> base = 10);
-<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00131"></a>00131 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> charT *str, <span class="keywordtype">char</span> **endptr, <span class="keywordtype">size_t</span> base = 10);
-<a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
-<a name="l00133"></a>00133 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> std::basic_string&lt;charT&gt;&amp; str, <span class="keywordtype">size_t</span> base = 10);
-<a name="l00134"></a>00134 <span class="keywordtype">void</span> from_binary(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, <span class="keywordtype">size_t</span> bits = 0);
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">class</span> GenType&gt;
-<a name="l00137"></a>00137 <span class="keyword">static</span> raw_integer_t random_by_size(GenType&amp; gen, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits, <span class="keywordtype">bool</span>
-<a name="l00138"></a>00138 high_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> low_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> can_be_negative =
-<a name="l00139"></a>00139 <span class="keyword">false</span>);
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">class</span> GenType&gt;
-<a name="l00142"></a>00142 <span class="keyword">static</span> raw_integer_t random_prime(GenType&amp; gen, <span class="keywordtype">size_t</span> size_in_bits,
-<a name="l00143"></a>00143 <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>);
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keywordtype">void</span> _swap(BOOST_XINT_RAWINT&amp; i2);
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="keyword">private</span>:
-<a name="l00148"></a>00148 <span class="keywordtype">bool</span> changed;
-<a name="l00149"></a>00149 datatype data;
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> B, <span class="keywordtype">bool</span> S, <span class="keyword">class</span> A&gt;
-<a name="l00152"></a>00152 <span class="keyword">friend</span> <span class="keyword">class </span>raw_integer_t;
-<a name="l00153"></a>00153 };
+<a name="l00128"></a>00128 raw_integer_t&amp; operator&amp;=(<span class="keyword">const</span> raw_integer_t n);
+<a name="l00129"></a>00129 raw_integer_t&amp; operator|=(<span class="keyword">const</span> raw_integer_t n);
+<a name="l00130"></a>00130 raw_integer_t&amp; operator^=(<span class="keyword">const</span> raw_integer_t n);
+<a name="l00131"></a>00131 raw_integer_t&amp; operator&lt;&lt;=(std::size_t shift);
+<a name="l00132"></a>00132 raw_integer_t&amp; operator&gt;&gt;=(std::size_t shift);
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
+<a name="l00135"></a>00135 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> charT *str, std::size_t base = 10);
+<a name="l00136"></a>00136 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T&gt;
+<a name="l00137"></a>00137 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> charT *str, <span class="keyword">const</span> charT*&amp; endptr, std::size_t base =
+<a name="l00138"></a>00138 10);
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">char</span>T, <span class="keyword">typename</span> traitsT, <span class="keyword">typename</span> allocT&gt;
+<a name="l00140"></a>00140 <span class="keywordtype">void</span> from_string(<span class="keyword">const</span> std::basic_string&lt;charT, traitsT, allocT&gt;&amp; str,
+<a name="l00141"></a>00141 std::size_t base = 10);
+<a name="l00142"></a>00142 <span class="keywordtype">void</span> from_binary(<a class="code" href="namespaceboost_1_1xint.html#aae3128529370506165793f2771834e58" title="The format for the binary representations of integers.">xint::binary_t</a> b, std::size_t bits = 0);
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">template</span> &lt;<span class="keyword">class</span> GenType&gt;
+<a name="l00145"></a>00145 <span class="keyword">static</span> raw_integer_t random_by_size(GenType&amp; gen, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> bits, <span class="keywordtype">bool</span>
+<a name="l00146"></a>00146 high_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> low_bit_on = <span class="keyword">false</span>, <span class="keywordtype">bool</span> can_be_negative =
+<a name="l00147"></a>00147 <span class="keyword">false</span>);
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="keyword">template</span> &lt;<span class="keyword">class</span> GenType&gt;
+<a name="l00150"></a>00150 <span class="keyword">static</span> raw_integer_t random_prime(GenType&amp; gen, std::size_t size_in_bits,
+<a name="l00151"></a>00151 <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547" title="A callback function takes no parameters and returns a bool.">callback_t</a> callback = <a class="code" href="namespaceboost_1_1xint.html#a758d415a476a5eeed28dc6b5869b1696" title="An empty callback_t, used as a default parameter for some functions.">no_callback</a>);
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keywordtype">void</span> _swap(BOOST_XINT_RAWINT&amp; i2);
 <a name="l00154"></a>00154
-<a name="l00155"></a>00155 BOOST_XINT_RAWINT_TPL
-<a name="l00156"></a>00156 digit_t *BOOST_XINT_RAWINT::digits(<span class="keywordtype">size_t</span> resize, realloc::strategy strategy) {
-<a name="l00157"></a>00157 data.resize_and_uniquify(resize, strategy);
-<a name="l00158"></a>00158 <span class="keywordflow">if</span> (resize == 0 || resize &gt; data.max_length()) resize = data.max_length();
-<a name="l00159"></a>00159 <span class="keywordflow">if</span> (strategy != realloc::copy) {
-<a name="l00160"></a>00160 <span class="keywordflow">if</span> (length &lt; resize) {
-<a name="l00161"></a>00161 <span class="keywordflow">if</span> (strategy == realloc::extend) {
-<a name="l00162"></a>00162 digit_t *d = data.digits(), *p = d + length, *pe = d + resize;
-<a name="l00163"></a>00163 <span class="keywordflow">while</span> (p != pe) *p++ = 0;
-<a name="l00164"></a>00164 }
-<a name="l00165"></a>00165 length = resize;
-<a name="l00166"></a>00166 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length &gt; data.max_length()) length = data.max_length();
-<a name="l00167"></a>00167 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length &gt; data.max_length()) length = data.max_length();
-<a name="l00168"></a>00168 changed = <span class="keyword">true</span>;
-<a name="l00169"></a>00169 <span class="keywordflow">return</span> data.digits();
-<a name="l00170"></a>00170 }
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 BOOST_XINT_RAWINT_TPL
-<a name="l00173"></a>00173 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::set_signed(boost::intmax_t n, <span class="keywordtype">size_t</span> prealloc) {
-<a name="l00174"></a>00174 <span class="keywordflow">if</span> (n &gt;= 0) {
-<a name="l00175"></a>00175 <span class="keywordflow">if</span> (n &lt;= digit_mask) {
-<a name="l00176"></a>00176 length = 1;
-<a name="l00177"></a>00177 negative = <span class="keyword">false</span>;
-<a name="l00178"></a>00178 <span class="keywordflow">if</span> (prealloc != 0) {
-<a name="l00179"></a>00179 digits(prealloc, realloc::zero)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
-<a name="l00180"></a>00180 } <span class="keywordflow">else</span> {
-<a name="l00181"></a>00181 digits(1, realloc::ignore)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
-<a name="l00182"></a>00182 }
-<a name="l00183"></a>00183 trim();
-<a name="l00184"></a>00184 } <span class="keywordflow">else</span> set_unsigned(n, <span class="keyword">false</span>, prealloc);
-<a name="l00185"></a>00185 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;boost::intmax_t&gt;::min)()) {
-<a name="l00186"></a>00186 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
-<a name="l00187"></a>00187 <span class="comment">// what you&#39;d think it is.</span>
-<a name="l00188"></a>00188 set_unsigned(-(n + 1), <span class="keyword">true</span>, prealloc);
-<a name="l00189"></a>00189 --*<span class="keyword">this</span>;
-<a name="l00190"></a>00190 } <span class="keywordflow">else</span> set_unsigned(-n, <span class="keyword">true</span>, prealloc);
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 BOOST_XINT_RAWINT_TPL
-<a name="l00194"></a>00194 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> neg, <span class="keywordtype">size_t</span>
-<a name="l00195"></a>00195 prealloc)
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keywordflow">if</span> (n &lt;= digit_mask) {
-<a name="l00198"></a>00198 length = 1;
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> (prealloc != 0) {
-<a name="l00200"></a>00200 digits(prealloc, realloc::zero)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
-<a name="l00201"></a>00201 } <span class="keywordflow">else</span> {
-<a name="l00202"></a>00202 digits(1, realloc::ignore)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
-<a name="l00203"></a>00203 }
-<a name="l00204"></a>00204 } <span class="keywordflow">else</span> {
-<a name="l00205"></a>00205 digit_t *d = digits((std::max)(digits_in_uintmax, prealloc),
-<a name="l00206"></a>00206 realloc::ignore), *i = d, *ie = i + max_length();
-<a name="l00207"></a>00207 <span class="keywordflow">while</span> (n != 0 &amp;&amp; i != ie) {
-<a name="l00208"></a>00208 *i++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
-<a name="l00209"></a>00209 n &gt;&gt;= bits_per_digit;
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 length = (i - d);
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213 negative = neg;
-<a name="l00214"></a>00214 trim();
-<a name="l00215"></a>00215 }
-<a name="l00216"></a>00216
-<a name="l00217"></a>00217 BOOST_XINT_RAWINT_TPL
-<a name="l00218"></a>00218 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::trim(<span class="keywordtype">bool</span> allow_negative_zero) {
-<a name="l00219"></a>00219 assert(length &lt;= max_length());
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="keywordtype">bool</span> zero = <span class="keyword">false</span>;
-<a name="l00222"></a>00222 <span class="keywordflow">if</span> (changed) {
-<a name="l00223"></a>00223 data.trim();
-<a name="l00224"></a>00224 <span class="keywordflow">if</span> (length &gt; 1) {
-<a name="l00225"></a>00225 digit_t *d = data.digits(), *i = d + length - 1;
-<a name="l00226"></a>00226 <span class="keywordflow">if</span> (*i == 0) {
-<a name="l00227"></a>00227 <span class="keywordflow">do</span> { --i; } <span class="keywordflow">while</span> (i &gt; d &amp;&amp; *i == 0);
-<a name="l00228"></a>00228 length = size_t(i - d) + 1;
-<a name="l00229"></a>00229 <span class="keywordflow">if</span> (i == d &amp;&amp; *i == 0) zero = <span class="keyword">true</span>;
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (data.digits()[0] == 0) zero = <span class="keyword">true</span>;
-<a name="l00232"></a>00232 changed = <span class="keyword">false</span>;
-<a name="l00233"></a>00233 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length == 1 &amp;&amp; data.digits()[0] == 0) zero = <span class="keyword">true</span>;
-<a name="l00234"></a>00234 <span class="keywordflow">if</span> (zero &amp;&amp; !allow_negative_zero) negative = <span class="keyword">false</span>;
-<a name="l00235"></a>00235 }
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 BOOST_XINT_RAWINT_TPL
-<a name="l00238"></a>00238 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::_swap(BOOST_XINT_RAWINT&amp; i2) {
-<a name="l00239"></a>00239 <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">std::swap</a>;
-<a name="l00240"></a>00240 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(length, i2.length);
-<a name="l00241"></a>00241 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(negative, i2.negative);
-<a name="l00242"></a>00242 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(changed, i2.changed);
-<a name="l00243"></a>00243 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(data, i2.data);
-<a name="l00244"></a>00244 }
-<a name="l00245"></a>00245
-<a name="l00247"></a>00247 <span class="comment">// Free functions</span>
-<a name="l00248"></a>00248
-<a name="l00249"></a>00249 BOOST_XINT_RAWINT_TPL
-<a name="l00250"></a>00250 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(BOOST_XINT_RAWINT&amp; i1, BOOST_XINT_RAWINT&amp; i2) {
-<a name="l00251"></a>00251 i1._swap(i2);
-<a name="l00252"></a>00252 }
-<a name="l00253"></a>00253
-<a name="l00255"></a>00255 } <span class="comment">// namespace detail</span>
-<a name="l00256"></a>00256 } <span class="comment">// namespace xint</span>
-<a name="l00257"></a>00257 } <span class="comment">// namespace boost</span>
+<a name="l00155"></a>00155 <span class="keyword">private</span>:
+<a name="l00156"></a>00156 <span class="keywordtype">bool</span> changed;
+<a name="l00157"></a>00157 datatype data;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;bit<span class="keywordtype">size_t</span> B, <span class="keywordtype">bool</span> S, <span class="keyword">class</span> A&gt;
+<a name="l00160"></a>00160 <span class="keyword">friend</span> <span class="keyword">class </span>raw_integer_t;
+<a name="l00161"></a>00161 };
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 BOOST_XINT_RAWINT_TPL
+<a name="l00164"></a>00164 digit_t *BOOST_XINT_RAWINT::digits(std::size_t resize, realloc::strategy
+<a name="l00165"></a>00165 strategy)
+<a name="l00166"></a>00166 {
+<a name="l00167"></a>00167 data.resize_and_uniquify(resize, strategy);
+<a name="l00168"></a>00168 <span class="keywordflow">if</span> (resize == 0 || resize &gt; data.max_length()) resize = data.max_length();
+<a name="l00169"></a>00169 <span class="keywordflow">if</span> (strategy != realloc::copy) {
+<a name="l00170"></a>00170 <span class="keywordflow">if</span> (length &lt; resize) {
+<a name="l00171"></a>00171 <span class="keywordflow">if</span> (strategy == realloc::extend) {
+<a name="l00172"></a>00172 digit_t *d = data.digits(), *p = d + length, *pe = d + resize;
+<a name="l00173"></a>00173 <span class="keywordflow">while</span> (p != pe) *p++ = 0;
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175 length = resize;
+<a name="l00176"></a>00176 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length &gt; data.max_length()) length = data.max_length();
+<a name="l00177"></a>00177 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length &gt; data.max_length()) length = data.max_length();
+<a name="l00178"></a>00178 changed = <span class="keyword">true</span>;
+<a name="l00179"></a>00179 <span class="keywordflow">return</span> data.digits();
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 BOOST_XINT_RAWINT_TPL
+<a name="l00183"></a>00183 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::set_signed(boost::intmax_t n, std::size_t prealloc) {
+<a name="l00184"></a>00184 <span class="keywordflow">if</span> (n &gt;= 0) {
+<a name="l00185"></a>00185 <span class="keywordflow">if</span> (n &lt;= digit_mask) {
+<a name="l00186"></a>00186 length = 1;
+<a name="l00187"></a>00187 negative = <span class="keyword">false</span>;
+<a name="l00188"></a>00188 <span class="keywordflow">if</span> (prealloc != 0) {
+<a name="l00189"></a>00189 digits(prealloc, realloc::zero)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
+<a name="l00190"></a>00190 } <span class="keywordflow">else</span> {
+<a name="l00191"></a>00191 digits(1, realloc::ignore)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 trim();
+<a name="l00194"></a>00194 } <span class="keywordflow">else</span> set_unsigned(n, <span class="keyword">false</span>, prealloc);
+<a name="l00195"></a>00195 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n == (std::numeric_limits&lt;boost::intmax_t&gt;::min)()) {
+<a name="l00196"></a>00196 <span class="comment">// Have to treat the minimum number carefully, because -n is not</span>
+<a name="l00197"></a>00197 <span class="comment">// what you&#39;d think it is.</span>
+<a name="l00198"></a>00198 set_unsigned(-(n + 1), <span class="keyword">true</span>, prealloc);
+<a name="l00199"></a>00199 --*<span class="keyword">this</span>;
+<a name="l00200"></a>00200 } <span class="keywordflow">else</span> set_unsigned(-n, <span class="keyword">true</span>, prealloc);
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 BOOST_XINT_RAWINT_TPL
+<a name="l00204"></a>00204 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::set_unsigned(boost::uintmax_t n, <span class="keywordtype">bool</span> neg, std::size_t
+<a name="l00205"></a>00205 prealloc)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 <span class="keywordflow">if</span> (n &lt;= digit_mask) {
+<a name="l00208"></a>00208 length = 1;
+<a name="l00209"></a>00209 <span class="keywordflow">if</span> (prealloc != 0) {
+<a name="l00210"></a>00210 digits(prealloc, realloc::zero)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
+<a name="l00211"></a>00211 } <span class="keywordflow">else</span> {
+<a name="l00212"></a>00212 digits(1, realloc::ignore)[0] = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 } <span class="keywordflow">else</span> {
+<a name="l00215"></a>00215 digit_t *d = digits((std::max)(digits_in_uintmax, prealloc),
+<a name="l00216"></a>00216 realloc::ignore), *i = d, *ie = i + max_length();
+<a name="l00217"></a>00217 <span class="keywordflow">while</span> (n != 0 &amp;&amp; i != ie) {
+<a name="l00218"></a>00218 *i++ = <span class="keyword">static_cast&lt;</span>digit_t<span class="keyword">&gt;</span>(n);
+<a name="l00219"></a>00219 n &gt;&gt;= bits_per_digit;
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221 length = (i - d);
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223 negative = neg;
+<a name="l00224"></a>00224 trim();
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 BOOST_XINT_RAWINT_TPL
+<a name="l00228"></a>00228 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::trim(<span class="keywordtype">bool</span> allow_negative_zero) {
+<a name="l00229"></a>00229 assert(length &lt;= max_length());
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="keywordtype">bool</span> zero = <span class="keyword">false</span>;
+<a name="l00232"></a>00232 <span class="keywordflow">if</span> (changed) {
+<a name="l00233"></a>00233 data.trim();
+<a name="l00234"></a>00234 <span class="keywordflow">if</span> (length &gt; 1) {
+<a name="l00235"></a>00235 digit_t *d = data.digits(), *i = d + length - 1;
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (*i == 0) {
+<a name="l00237"></a>00237 <span class="keywordflow">do</span> { --i; } <span class="keywordflow">while</span> (i &gt; d &amp;&amp; *i == 0);
+<a name="l00238"></a>00238 length = std::size_t(i - d) + 1;
+<a name="l00239"></a>00239 <span class="keywordflow">if</span> (i == d &amp;&amp; *i == 0) zero = <span class="keyword">true</span>;
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (data.digits()[0] == 0) zero = <span class="keyword">true</span>;
+<a name="l00242"></a>00242 changed = <span class="keyword">false</span>;
+<a name="l00243"></a>00243 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (length == 1 &amp;&amp; data.digits()[0] == 0) zero = <span class="keyword">true</span>;
+<a name="l00244"></a>00244 <span class="keywordflow">if</span> (zero &amp;&amp; !allow_negative_zero) negative = <span class="keyword">false</span>;
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 BOOST_XINT_RAWINT_TPL
+<a name="l00248"></a>00248 <span class="keywordtype">void</span> BOOST_XINT_RAWINT::_swap(BOOST_XINT_RAWINT&amp; i2) {
+<a name="l00249"></a>00249 <span class="keyword">using</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">std::swap</a>;
+<a name="l00250"></a>00250 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(length, i2.length);
+<a name="l00251"></a>00251 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(negative, i2.negative);
+<a name="l00252"></a>00252 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(changed, i2.changed);
+<a name="l00253"></a>00253 <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(data, i2.data);
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255
+<a name="l00257"></a>00257 <span class="comment">// Free functions</span>
 <a name="l00258"></a>00258
-<a name="l00259"></a>00259 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RAW_INTEGER_HPP</span>
+<a name="l00259"></a>00259 BOOST_XINT_RAWINT_TPL
+<a name="l00260"></a>00260 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a1a857d5cc4b15822d3dcaf70ec15b4e5">swap</a>(BOOST_XINT_RAWINT&amp; i1, BOOST_XINT_RAWINT&amp; i2) {
+<a name="l00261"></a>00261 i1._swap(i2);
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263
+<a name="l00265"></a>00265 } <span class="comment">// namespace detail</span>
+<a name="l00266"></a>00266 } <span class="comment">// namespace xint</span>
+<a name="l00267"></a>00267 } <span class="comment">// namespace boost</span>
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RAW_INTEGER_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/roots_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/roots_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/roots_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="roots_8hpp_source.html">roots.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/roots_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/roots_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/roots_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -53,7 +53,7 @@
 <a name="l00036"></a>00036 <span class="comment">// cycling between two numbers that are approximately correct (try</span>
 <a name="l00037"></a>00037 <span class="comment">// sqrt(23)). To deal with that, we multiply everything by an even power of</span>
 <a name="l00038"></a>00038 <span class="comment">// two.</span>
-<a name="l00039"></a>00039 <span class="keyword">const</span> <span class="keywordtype">size_t</span> extra_bits = 1;
+<a name="l00039"></a>00039 <span class="keyword">const</span> std::size_t extra_bits = 1;
 <a name="l00040"></a>00040 n &lt;&lt;= (extra_bits * 2);
 <a name="l00041"></a>00041
 <a name="l00042"></a>00042 <span class="comment">// Initial guess is half the length of n, in bits</span>
@@ -78,7 +78,7 @@
 <a name="l00062"></a>00062 <span class="comment"></span>
 <a name="l00063"></a>00063 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_ROOTS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/shift_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/shift_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/shift_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -38,7 +38,7 @@
 
 <p>Definition in file <a class="el" href="shift_8hpp_source.html">shift.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/shift_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/shift_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/shift_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -44,89 +44,91 @@
 <a name="l00026"></a>00026 <span class="keyword">namespace </span>detail {
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 BOOST_XINT_RAWINT_TPL
-<a name="l00029"></a>00029 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator&lt;&lt;=(<span class="keywordtype">size_t</span> byBits) {
+<a name="l00029"></a>00029 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator&lt;&lt;=(std::size_t byBits) {
 <a name="l00030"></a>00030 <span class="keywordflow">if</span> (byBits == 0) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
 <a name="l00031"></a>00031
 <a name="l00032"></a>00032 <span class="comment">// bits/dchunks is distance to move</span>
-<a name="l00033"></a>00033 <span class="keywordtype">size_t</span> dchunks = byBits / bits_per_digit, bits = byBits % bits_per_digit;
-<a name="l00034"></a>00034 <span class="keywordtype">size_t</span> anslen = length + dchunks + (bits != 0 ? 1 : 0);
-<a name="l00035"></a>00035 digit_t *dstart = digits(anslen);
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="comment">// nlen is one greater than top source byte to move</span>
-<a name="l00038"></a>00038 <span class="keywordtype">size_t</span> nlen = (std::min)(length, anslen - dchunks - (bits != 0 ? 1 : 0));
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keywordflow">if</span> (bits != 0 &amp;&amp; dchunks + 1 &lt; anslen) {
-<a name="l00041"></a>00041 <span class="comment">// Handle both bits and dchunks in one pass</span>
-<a name="l00042"></a>00042 <span class="keyword">const</span> digit_t *s = dstart + nlen - 1;
-<a name="l00043"></a>00043 digit_t *t = dstart + nlen + dchunks, *te = dstart + max_length();
-<a name="l00044"></a>00044 length = (std::min&lt;size_t&gt;)(t - dstart + 1, max_length());
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keywordflow">while</span> (t &gt;= te &amp;&amp; s &gt; dstart) { --t; --s; }
-<a name="l00047"></a>00047 <span class="keywordflow">if</span> (t &lt; te) *t-- = *s &gt;&gt; (bits_per_digit - bits); <span class="keywordflow">else</span> --t;
-<a name="l00048"></a>00048 <span class="keywordflow">while</span> (s &gt; dstart) {
-<a name="l00049"></a>00049 *t = (*s-- &lt;&lt; bits);
-<a name="l00050"></a>00050 *t-- |= (*s &gt;&gt; (bits_per_digit - bits));
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 *t-- = (*s &lt;&lt; bits);
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keywordflow">while</span> (t &gt;= dstart) *t-- = 0;
-<a name="l00055"></a>00055 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dchunks != 0 &amp;&amp; dchunks &lt; anslen) {
-<a name="l00056"></a>00056 length = anslen;
-<a name="l00057"></a>00057 memmove(dstart + dchunks, dstart, <span class="keyword">sizeof</span>(digit_t) * nlen);
-<a name="l00058"></a>00058 memset(dstart, 0, dchunks * <span class="keyword">sizeof</span>(digit_t));
-<a name="l00059"></a>00059 } <span class="keywordflow">else</span> {
-<a name="l00060"></a>00060 <span class="keyword">set</span>(0);
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 trim();
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 BOOST_XINT_RAWINT_TPL
-<a name="l00068"></a>00068 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator&gt;&gt;=(<span class="keywordtype">size_t</span> byBits) {
-<a name="l00069"></a>00069 <span class="keywordflow">if</span> (byBits == 0) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> dchunks = byBits / bits_per_digit, bits = byBits % bits_per_digit,
-<a name="l00072"></a>00072 bits2 = bits_per_digit - bits;
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 digit_t *tgt = digits(0);
-<a name="l00075"></a>00075 <span class="keywordflow">if</span> (dchunks &lt; length) {
-<a name="l00076"></a>00076 <span class="keywordflow">if</span> (bits != 0) {
-<a name="l00077"></a>00077 <span class="comment">// Handle both bits and dchunks in one pass</span>
-<a name="l00078"></a>00078 <span class="keyword">const</span> digit_t *s = tgt + dchunks, *se = tgt + length - 1;
-<a name="l00079"></a>00079 digit_t *t = tgt;
-<a name="l00080"></a>00080 <span class="keywordflow">while</span> (s != se) {
-<a name="l00081"></a>00081 *t = (*s++ &gt;&gt; bits);
-<a name="l00082"></a>00082 *t++ |= (*s &lt;&lt; bits2);
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084 *t++ = (*s &gt;&gt; bits);
-<a name="l00085"></a>00085 length = (t - tgt);
-<a name="l00086"></a>00086 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dchunks != 0) {
-<a name="l00087"></a>00087 memmove(tgt, tgt + dchunks, <span class="keyword">sizeof</span>(digit_t) * (length - dchunks));
-<a name="l00088"></a>00088 length -= dchunks;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> <span class="keyword">set</span>(0);
-<a name="l00091"></a>00091 trim();
-<a name="l00092"></a>00092 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 BOOST_XINT_RAWINT_TPL
-<a name="l00096"></a>00096 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">operator&lt;&lt;</a>(BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> bits) {
-<a name="l00097"></a>00097 <span class="keywordflow">return</span> (n &lt;&lt;= bits);
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 BOOST_XINT_RAWINT_TPL
-<a name="l00101"></a>00101 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(BOOST_XINT_RAWINT n, <span class="keywordtype">size_t</span> bits) {
-<a name="l00102"></a>00102 <span class="keywordflow">return</span> (n &gt;&gt;= bits);
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 } <span class="comment">// namespace detail</span>
-<a name="l00106"></a>00106 } <span class="comment">// namespace xint</span>
-<a name="l00107"></a>00107 } <span class="comment">// namespace boost</span>
-<a name="l00109"></a>00109 <span class="comment"></span>
-<a name="l00110"></a>00110 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_SHIFT_HPP</span>
+<a name="l00033"></a>00033 std::size_t dchunks = byBits / bits_per_digit, bits = byBits %
+<a name="l00034"></a>00034 bits_per_digit;
+<a name="l00035"></a>00035 std::size_t anslen = length + dchunks + (bits != 0 ? 1 : 0);
+<a name="l00036"></a>00036 digit_t *dstart = digits(anslen);
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="comment">// nlen is one greater than top source byte to move</span>
+<a name="l00039"></a>00039 std::size_t nlen = (std::min)(length, anslen - dchunks - (bits != 0 ? 1 :
+<a name="l00040"></a>00040 0));
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (bits != 0 &amp;&amp; dchunks + 1 &lt; anslen) {
+<a name="l00043"></a>00043 <span class="comment">// Handle both bits and dchunks in one pass</span>
+<a name="l00044"></a>00044 <span class="keyword">const</span> digit_t *s = dstart + nlen - 1;
+<a name="l00045"></a>00045 digit_t *t = dstart + nlen + dchunks, *te = dstart + max_length();
+<a name="l00046"></a>00046 length = (std::min&lt;size_t&gt;)(t - dstart + 1, max_length());
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keywordflow">while</span> (t &gt;= te &amp;&amp; s &gt; dstart) { --t; --s; }
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (t &lt; te) *t-- = *s &gt;&gt; (bits_per_digit - bits); <span class="keywordflow">else</span> --t;
+<a name="l00050"></a>00050 <span class="keywordflow">while</span> (s &gt; dstart) {
+<a name="l00051"></a>00051 *t = (*s-- &lt;&lt; bits);
+<a name="l00052"></a>00052 *t-- |= (*s &gt;&gt; (bits_per_digit - bits));
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 *t-- = (*s &lt;&lt; bits);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keywordflow">while</span> (t &gt;= dstart) *t-- = 0;
+<a name="l00057"></a>00057 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dchunks != 0 &amp;&amp; dchunks &lt; anslen) {
+<a name="l00058"></a>00058 length = anslen;
+<a name="l00059"></a>00059 memmove(dstart + dchunks, dstart, <span class="keyword">sizeof</span>(digit_t) * nlen);
+<a name="l00060"></a>00060 memset(dstart, 0, dchunks * <span class="keyword">sizeof</span>(digit_t));
+<a name="l00061"></a>00061 } <span class="keywordflow">else</span> {
+<a name="l00062"></a>00062 <span class="keyword">set</span>(0);
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 trim();
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 BOOST_XINT_RAWINT_TPL
+<a name="l00070"></a>00070 BOOST_XINT_RAWINT&amp; BOOST_XINT_RAWINT::operator&gt;&gt;=(std::size_t byBits) {
+<a name="l00071"></a>00071 <span class="keywordflow">if</span> (byBits == 0) <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 std::size_t dchunks = byBits / bits_per_digit, bits = byBits %
+<a name="l00074"></a>00074 bits_per_digit, bits2 = bits_per_digit - bits;
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 digit_t *tgt = digits(0);
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (dchunks &lt; length) {
+<a name="l00078"></a>00078 <span class="keywordflow">if</span> (bits != 0) {
+<a name="l00079"></a>00079 <span class="comment">// Handle both bits and dchunks in one pass</span>
+<a name="l00080"></a>00080 <span class="keyword">const</span> digit_t *s = tgt + dchunks, *se = tgt + length - 1;
+<a name="l00081"></a>00081 digit_t *t = tgt;
+<a name="l00082"></a>00082 <span class="keywordflow">while</span> (s != se) {
+<a name="l00083"></a>00083 *t = (*s++ &gt;&gt; bits);
+<a name="l00084"></a>00084 *t++ |= (*s &lt;&lt; bits2);
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 *t++ = (*s &gt;&gt; bits);
+<a name="l00087"></a>00087 length = (t - tgt);
+<a name="l00088"></a>00088 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dchunks != 0) {
+<a name="l00089"></a>00089 memmove(tgt, tgt + dchunks, <span class="keyword">sizeof</span>(digit_t) * (length - dchunks));
+<a name="l00090"></a>00090 length -= dchunks;
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 } <span class="keywordflow">else</span> <span class="keyword">set</span>(0);
+<a name="l00093"></a>00093 trim();
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 BOOST_XINT_RAWINT_TPL
+<a name="l00098"></a>00098 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">operator&lt;&lt;</a>(BOOST_XINT_RAWINT n, std::size_t bits) {
+<a name="l00099"></a>00099 <span class="keywordflow">return</span> (n &lt;&lt;= bits);
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 BOOST_XINT_RAWINT_TPL
+<a name="l00103"></a>00103 BOOST_XINT_RAWINT <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(BOOST_XINT_RAWINT n, std::size_t bits) {
+<a name="l00104"></a>00104 <span class="keywordflow">return</span> (n &gt;&gt;= bits);
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 } <span class="comment">// namespace detail</span>
+<a name="l00108"></a>00108 } <span class="comment">// namespace xint</span>
+<a name="l00109"></a>00109 } <span class="comment">// namespace boost</span>
+<a name="l00111"></a>00111 <span class="comment"></span>
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_SHIFT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/streams_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/streams_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/streams_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 
 <p>Definition in file <a class="el" href="streams_8hpp_source.html">streams.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/streams_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/streams_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/streams_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -43,7 +43,7 @@
 <a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
 <a name="l00025"></a>00025 <span class="keyword">namespace </span>detail {
 <a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class </span>\
+<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class </span>\
 <a name="l00029"></a>00029 Alloc&gt;
 <a name="l00030"></a>00030 <span class="keyword">inline</span> std::basic_ostream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#a678851ea0cb31cb4ef66bc8389d369d3">operator&lt;&lt;</a>(std::basic_ostream&lt;charT,
 <a name="l00031"></a>00031 traits&gt;&amp; out, <span class="keyword">const</span> BOOST_XINT_RAWINT n)
@@ -70,7 +70,7 @@
 <a name="l00052"></a>00052 <span class="keywordflow">return</span> out;
 <a name="l00053"></a>00053 }
 <a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <a class="code" href="namespaceboost_1_1xint.html#ab256530d9916860983abdb6f0c6fad63" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class </span>\
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> charT, <span class="keyword">typename</span> traits, <a class="code" href="namespaceboost_1_1xint.html#ae9f6d103df04ad19a841ed3f8b94a764" title="This makes it easier to tell when an item is measured in bits.">bitsize_t</a> Bits, <span class="keywordtype">bool</span> Secure, <span class="keyword">class </span>\
 <a name="l00056"></a>00056 Alloc&gt;
 <a name="l00057"></a>00057 <span class="keyword">inline</span> std::basic_istream&lt;charT,traits&gt;&amp; <a class="code" href="namespaceboost_1_1xint.html#ad5bc89da790a0843ba90a88cbc7856a6">operator&gt;&gt;</a>(std::basic_istream&lt;charT,
 <a name="l00058"></a>00058 traits&gt;&amp; in, BOOST_XINT_RAWINT&amp; n)
@@ -80,7 +80,7 @@
 <a name="l00062"></a>00062 <span class="keywordtype">int</span> oct=(in.flags() &amp; std::ios::oct) ? 1 : 0;
 <a name="l00063"></a>00063 <span class="keywordtype">int</span> count=hex+dec+oct;
 <a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> base=<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>;
+<a name="l00065"></a>00065 std::size_t base=<a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>;
 <a name="l00066"></a>00066 <span class="keywordflow">if</span> (count == 1) {
 <a name="l00067"></a>00067 <span class="keywordflow">if</span> (hex) base = 16;
 <a name="l00068"></a>00068 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (oct) base = 8;
@@ -96,7 +96,7 @@
 <a name="l00078"></a>00078 s.push_back(<span class="charliteral">&#39;-&#39;</span>);
 <a name="l00079"></a>00079 }
 <a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
+<a name="l00081"></a>00081 <span class="keywordflow">if</span> (base==<a class="code" href="namespaceboost_1_1xint.html#a6e2c55f95b91dfcb7586599faca34cb2" title="A value that can be used for the &amp;#39;base&amp;#39; parameter of the string-to-integer...">autobase</a>) {
 <a name="l00082"></a>00082 <span class="keywordflow">if</span> (in.peek()==<span class="charliteral">&#39;0&#39;</span>) {
 <a name="l00083"></a>00083 in.ignore();
 <a name="l00084"></a>00084 <span class="keywordtype">int</span> c=in.peek();
@@ -135,7 +135,7 @@
 <a name="l00118"></a>00118
 <a name="l00119"></a>00119 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_RAW_STREAMS_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength__base.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1fixedlength__base.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -47,7 +47,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow__base.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1nothrow__base.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -47,7 +47,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure__base.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1secure__base.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -47,7 +47,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -50,7 +50,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe__base.html
==============================================================================
--- sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe__base.html (original)
+++ sandbox/xint/libs/xint/doc/structboost_1_1xint_1_1options_1_1threadsafe__base.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -47,7 +47,7 @@
 <li>detail/<a class="el" href="options_8hpp_source.html">options.hpp</a></li>
 </ul>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/testing.html
==============================================================================
--- sandbox/xint/libs/xint/doc/testing.html (original)
+++ sandbox/xint/libs/xint/doc/testing.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -26,7 +26,7 @@
 <h1><a class="anchor" id="testing">The Self-Testing Program </a></h1><p>The library has a self-testing program that you can build and run to confirm that it is working properly. You can find the source code for it in the <code>libs/xint/test</code> directory. All of the major functions are thoroughly exercised, and many of the minor ones as well.</p>
 <p>The source code for the testing program also demonstrates how to use many of the library's functions. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/testing_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/testing_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/testing_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/testing.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/threadsafe.html
==============================================================================
--- sandbox/xint/libs/xint/doc/threadsafe.html (original)
+++ sandbox/xint/libs/xint/doc/threadsafe.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -27,7 +27,7 @@
 <p>That's a simplification though. The only problem multithreaded programs have with copy-on-write is that one thread might change an object while another is reading from it. Since the copy-on-write behavior is entirely internal to the class, no other code can tell when it's safe to make changes to an object. This is only a problem when more than one thread can access a specific object. So long as an integer object is only accessed from the thread that it's created in, there's no danger.</p>
 <p>If you want the speed of copy-on-write (which can be noticeable if you're dealing with very large numbers), but need to use integer objects from multiple threads when one or more might alter them, you can use the <code>force_thread_safety</code> parameter on the object's copy constructor to make a duplicate of an object with its own unique storage, even if the <code>threadsafe</code> template parameter is <code>false</code>. You'll only need to do that when the integer object is crossing thread boundaries. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/threadsafe_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/threadsafe_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/threadsafe_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/threadsafe.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/xint_8hpp.html
==============================================================================
--- sandbox/xint/libs/xint/doc/xint_8hpp.html (original)
+++ sandbox/xint/libs/xint/doc/xint_8hpp.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -37,7 +37,7 @@
 
 <p>Definition in file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/xint_8hpp_source.html
==============================================================================
--- sandbox/xint/libs/xint/doc/xint_8hpp_source.html (original)
+++ sandbox/xint/libs/xint/doc/xint_8hpp_source.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -45,7 +45,7 @@
 <a name="l00024"></a>00024
 <a name="l00025"></a>00025 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_HPP</span>
 </pre></div></div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/zero.html
==============================================================================
--- sandbox/xint/libs/xint/doc/zero.html (original)
+++ sandbox/xint/libs/xint/doc/zero.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -30,7 +30,7 @@
 </pre></div><p>A negative zero will act exactly like a "normal" zero in all respects. The only way to detect a sign on it is by calling <a class="el" href="classboost_1_1xint_1_1integer__t.html#aa278c48753019fe3deaa623eecdb16b3">the sign function</a> with the <code>signed_zero</code> parameter <code>true</code>. With that parameter, it will return -1 on any negative number, including zero.</p>
 <p>Note that the unary minus operator is the only function that will ever return a negative zero. </p>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/doc/zero_8dox.html
==============================================================================
--- sandbox/xint/libs/xint/doc/zero_8dox.html (original)
+++ sandbox/xint/libs/xint/doc/zero_8dox.html 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -28,7 +28,7 @@
 <h1>/home/chad/projects/xint/libs/xint/doc/dox/zero.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 00:01:46 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Jun 13 12:31:58 2010 for The Extended Integer (XInt) Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>

Modified: sandbox/xint/libs/xint/test/test_convert.cpp
==============================================================================
--- sandbox/xint/libs/xint/test/test_convert.cpp (original)
+++ sandbox/xint/libs/xint/test/test_convert.cpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -104,6 +104,13 @@
     }
 }
 
+BOOST_AUTO_TEST_CASE(test_strtol_like_conversion) {
+ const char src[] = "12345 67890", *c = src;
+ integer n1(c, c, 10), n2(c, c, 10);
+ BOOST_CHECK_EQUAL(n1, 12345);
+ BOOST_CHECK_EQUAL(n2, 67890);
+}
+
 BOOST_AUTO_TEST_CASE(test_wstring_conversions) {
     std::wstring nStr(L"2345678900987654321");
     integer n(nStr);

Modified: sandbox/xint/libs/xint/test/test_monty.cpp
==============================================================================
--- sandbox/xint/libs/xint/test/test_monty.cpp (original)
+++ sandbox/xint/libs/xint/test/test_monty.cpp 2010-06-13 12:33:10 EDT (Sun, 13 Jun 2010)
@@ -51,8 +51,8 @@
 }
 
 void _test2(size_t section, size_t test, integer b, integer r, integer modulus) {
- integer mResult = montgomeryPowerMod((b % modulus)._data(), r._data(),
- modulus._data());
+ integer mResult(montgomeryPowerMod((b % modulus)._data(), r._data(),
+ modulus._data()));
     integer cResult = powmod(b % modulus, r, modulus, true);
     if (mResult != cResult) {
         std::ostringstream out;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk