Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61200 - in sandbox/xint: boost/xint doc doc/dox example src test
From: chad.thecomfychair_at_[hidden]
Date: 2010-04-11 10:29:56


Author: chadnelson
Date: 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
New Revision: 61200
URL: http://svn.boost.org/trac/boost/changeset/61200

Log:
Moved blockable functions to their own namespace, physically separated them from core functions, added more documentation, refactored code.
Added:
   sandbox/xint/doc/blockable__bit__manipulations_8cpp.html (contents, props changed)
   sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__compare_8cpp.html (contents, props changed)
   sandbox/xint/doc/blockable__compare_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__convert_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/roots_8cpp.html
   sandbox/xint/doc/blockable__convert_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__gcd_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/roots_8cpp.html
   sandbox/xint/doc/blockable__gcd_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__integer_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/data__t_8cpp.html
   sandbox/xint/doc/blockable__integer_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__misc_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/data__t_8cpp.html
   sandbox/xint/doc/blockable__misc_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__modular_8cpp.html (contents, props changed)
   sandbox/xint/doc/blockable__modular_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__operators_8cpp.html (contents, props changed)
   sandbox/xint/doc/blockable__operators_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__powers_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/roots_8cpp.html
   sandbox/xint/doc/blockable__powers_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__primes_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/integer_8cpp.html
   sandbox/xint/doc/blockable__primes_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__primitives_8cpp.html (contents, props changed)
   sandbox/xint/doc/blockable__primitives_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__random_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/integer_8cpp.html
   sandbox/xint/doc/blockable__random_8cpp_source.html (contents, props changed)
   sandbox/xint/doc/blockable__roots_8cpp.html
      - copied, changed from r61199, /sandbox/xint/doc/integer_8cpp.html
   sandbox/xint/doc/blockable__roots_8cpp_source.html
      - copied, changed from r61199, /sandbox/xint/doc/xint__test_8hpp_source.html
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.png (contents, props changed)
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.png (contents, props changed)
   sandbox/xint/doc/ex__fibonacci.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/ex_fibonacci.html
   sandbox/xint/doc/namespaceboost_1_1xint_1_1blockable.html (contents, props changed)
   sandbox/xint/doc/r__core.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_core.html
   sandbox/xint/doc/r__cow.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_cow.html
   sandbox/xint/doc/r__default__necessary.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_default_necessary.html
   sandbox/xint/doc/r__exception__blocking.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_exception_blocking.html
   sandbox/xint/doc/r__insecure__default.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_insecure_default.html
   sandbox/xint/doc/r__interface.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_interface.html
   sandbox/xint/doc/r__interface__design__only.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_interface_design_only.html
   sandbox/xint/doc/r__nan.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_nan.html
   sandbox/xint/doc/r__negzero.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_negzero.html
   sandbox/xint/doc/r__random.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_random.html
   sandbox/xint/doc/r__shared__ptr.html (contents, props changed)
      - copied, changed from r61199, /sandbox/xint/doc/r_shared_ptr.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.png (contents, props changed)
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.png (contents, props changed)
   sandbox/xint/src/blockable_bit_manipulations.cpp (contents, props changed)
   sandbox/xint/src/blockable_compare.cpp (contents, props changed)
   sandbox/xint/src/blockable_convert.cpp (contents, props changed)
   sandbox/xint/src/blockable_gcd.cpp (contents, props changed)
   sandbox/xint/src/blockable_integer.cpp (contents, props changed)
   sandbox/xint/src/blockable_misc.cpp (contents, props changed)
   sandbox/xint/src/blockable_modular.cpp (contents, props changed)
   sandbox/xint/src/blockable_operators.cpp (contents, props changed)
   sandbox/xint/src/blockable_powers.cpp (contents, props changed)
   sandbox/xint/src/blockable_primes.cpp (contents, props changed)
   sandbox/xint/src/blockable_primitives.cpp (contents, props changed)
   sandbox/xint/src/blockable_random.cpp (contents, props changed)
   sandbox/xint/src/blockable_roots.cpp (contents, props changed)
Removed:
   sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html
   sandbox/xint/doc/classboost_1_1xint_1_1integer.html
   sandbox/xint/doc/classxint_1_1cannot__represent-members.html
   sandbox/xint/doc/classxint_1_1cannot__represent.html
   sandbox/xint/doc/classxint_1_1divide__by__zero-members.html
   sandbox/xint/doc/classxint_1_1divide__by__zero.html
   sandbox/xint/doc/classxint_1_1integer-members.html
   sandbox/xint/doc/classxint_1_1integer.html
   sandbox/xint/doc/classxint_1_1invalid__base-members.html
   sandbox/xint/doc/classxint_1_1invalid__base.html
   sandbox/xint/doc/classxint_1_1invalid__digit-members.html
   sandbox/xint/doc/classxint_1_1invalid__digit.html
   sandbox/xint/doc/classxint_1_1invalid__modulus-members.html
   sandbox/xint/doc/classxint_1_1invalid__modulus.html
   sandbox/xint/doc/classxint_1_1no__strong__random-members.html
   sandbox/xint/doc/classxint_1_1no__strong__random.html
   sandbox/xint/doc/classxint_1_1not__a__number-members.html
   sandbox/xint/doc/classxint_1_1not__a__number.html
   sandbox/xint/doc/classxint_1_1overflow__error-members.html
   sandbox/xint/doc/classxint_1_1overflow__error.html
   sandbox/xint/doc/classxint_1_1strong__random__generator-members.html
   sandbox/xint/doc/classxint_1_1strong__random__generator.html
   sandbox/xint/doc/classxint_1_1too__big-members.html
   sandbox/xint/doc/classxint_1_1too__big.html
   sandbox/xint/doc/ex_fibonacci.html
   sandbox/xint/doc/namespacexint.html
   sandbox/xint/doc/namespacexint_1_1detail.html
   sandbox/xint/doc/r_core.html
   sandbox/xint/doc/r_cow.html
   sandbox/xint/doc/r_default_necessary.html
   sandbox/xint/doc/r_exception_blocking.html
   sandbox/xint/doc/r_insecure_default.html
   sandbox/xint/doc/r_interface.html
   sandbox/xint/doc/r_interface_design_only.html
   sandbox/xint/doc/r_nan.html
   sandbox/xint/doc/r_negzero.html
   sandbox/xint/doc/r_random.html
   sandbox/xint/doc/r_shared_ptr.html
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.gif
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.gif
   sandbox/xint/doc/structxint_1_1detail_1_1base__random__generator-members.html
   sandbox/xint/doc/structxint_1_1detail_1_1base__random__generator.gif
   sandbox/xint/doc/structxint_1_1detail_1_1base__random__generator.html
   sandbox/xint/doc/structxint_1_1detail_1_1data__t-members.html
   sandbox/xint/doc/structxint_1_1detail_1_1data__t.html
   sandbox/xint/doc/structxint_1_1detail_1_1data__t_1_1_quick_digits-members.html
   sandbox/xint/doc/structxint_1_1detail_1_1data__t_1_1_quick_digits.html
   sandbox/xint/doc/structxint_1_1detail_1_1random__generator-members.html
   sandbox/xint/doc/structxint_1_1detail_1_1random__generator.gif
   sandbox/xint/doc/structxint_1_1detail_1_1random__generator.html
   sandbox/xint/doc/structxint_1_1detail_1_1token.html
Text files modified:
   sandbox/xint/boost/xint/xint.hpp | 622 ++++++----
   sandbox/xint/boost/xint/xint_data_t.hpp | 1
   sandbox/xint/doc/acknowledgements.html | 9
   sandbox/xint/doc/acknowledgements_8dox.html | 6
   sandbox/xint/doc/annotated.html | 13
   sandbox/xint/doc/bit__manipulations_8cpp.html | 51
   sandbox/xint/doc/bit__manipulations_8cpp_source.html | 372 ++----
   sandbox/xint/doc/blockable__convert_8cpp.html | 39
   sandbox/xint/doc/blockable__gcd_8cpp.html | 41
   sandbox/xint/doc/blockable__integer_8cpp.html | 27
   sandbox/xint/doc/blockable__misc_8cpp.html | 32
   sandbox/xint/doc/blockable__powers_8cpp.html | 34
   sandbox/xint/doc/blockable__primes_8cpp.html | 32
   sandbox/xint/doc/blockable__random_8cpp.html | 31
   sandbox/xint/doc/blockable__roots_8cpp.html | 31
   sandbox/xint/doc/blockable__roots_8cpp_source.html | 39
   sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html | 28
   sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html | 439 +++----
   sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html | 12
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html | 24
   sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html | 6
   sandbox/xint/doc/classboost_1_1xint_1_1too__big.html | 12
   sandbox/xint/doc/classes.html | 22
   sandbox/xint/doc/compare_8cpp.html | 35
   sandbox/xint/doc/compare_8cpp_source.html | 140 -
   sandbox/xint/doc/convert_8cpp.html | 33
   sandbox/xint/doc/convert_8cpp_source.html | 310 ++--
   sandbox/xint/doc/copyonwrite_8dox.html | 6
   sandbox/xint/doc/cow.html | 10
   sandbox/xint/doc/data__t_8cpp.html | 11
   sandbox/xint/doc/data__t_8cpp_source.html | 520 ++++----
   sandbox/xint/doc/dependencies.html | 6
   sandbox/xint/doc/dependencies_8dox.html | 6
   sandbox/xint/doc/dox/Doxyfile | 129 +
   sandbox/xint/doc/dox/acknowledgements.dox | 5
   sandbox/xint/doc/dox/copyonwrite.dox | 8
   sandbox/xint/doc/dox/dependencies.dox | 4
   sandbox/xint/doc/dox/exceptions.dox | 35
   sandbox/xint/doc/dox/history.dox | 13
   sandbox/xint/doc/dox/index.dox | 15
   sandbox/xint/doc/dox/nan.dox | 23
   sandbox/xint/doc/dox/primes.dox | 12
   sandbox/xint/doc/dox/r_core.dox | 18
   sandbox/xint/doc/dox/r_cow.dox | 8
   sandbox/xint/doc/dox/r_insecure_default.dox | 8
   sandbox/xint/doc/dox/r_negzero.dox | 4
   sandbox/xint/doc/dox/random.dox | 14
   sandbox/xint/doc/doxygen.css | 95 +
   sandbox/xint/doc/ex__fibonacci.html | 12
   sandbox/xint/doc/ex__fibonacci_8dox.html | 6
   sandbox/xint/doc/exception__blocker_8cpp.html | 11
   sandbox/xint/doc/exception__blocker_8cpp_source.html | 6
   sandbox/xint/doc/exceptions.html | 33
   sandbox/xint/doc/exceptions_8dox.html | 6
   sandbox/xint/doc/files.html | 19
   sandbox/xint/doc/functions.html | 101
   sandbox/xint/doc/functions_func.html | 102
   sandbox/xint/doc/functions_type.html | 6
   sandbox/xint/doc/functions_vars.html | 9
   sandbox/xint/doc/gcd_8cpp.html | 32
   sandbox/xint/doc/gcd_8cpp_source.html | 134 -
   sandbox/xint/doc/globals.html | 6
   sandbox/xint/doc/globals_defs.html | 6
   sandbox/xint/doc/globals_vars.html | 6
   sandbox/xint/doc/hierarchy.html | 13
   sandbox/xint/doc/history.html | 19
   sandbox/xint/doc/history_8dox.html | 6
   sandbox/xint/doc/index.html | 16
   sandbox/xint/doc/index_8dox.html | 6
   sandbox/xint/doc/integer_8cpp.html | 12
   sandbox/xint/doc/integer_8cpp_source.html | 652 +++-------
   sandbox/xint/doc/misc_8cpp.html | 21
   sandbox/xint/doc/misc_8cpp_source.html | 42
   sandbox/xint/doc/modular_8cpp.html | 30
   sandbox/xint/doc/modular_8cpp_source.html | 157 -
   sandbox/xint/doc/monty_8cpp.html | 18
   sandbox/xint/doc/monty_8cpp_source.html | 16
   sandbox/xint/doc/namespaceboost.html | 8
   sandbox/xint/doc/namespaceboost_1_1xint.html | 2335 +--------------------------------------
   sandbox/xint/doc/namespaceboost_1_1xint_1_1core.html | 637 ++++++++++
   sandbox/xint/doc/namespaceboost_1_1xint_1_1detail.html | 10
   sandbox/xint/doc/namespacemembers.html | 208 +-
   sandbox/xint/doc/namespacemembers_func.html | 208 +-
   sandbox/xint/doc/namespacemembers_type.html | 6
   sandbox/xint/doc/namespacemembers_vars.html | 6
   sandbox/xint/doc/namespaces.html | 11
   sandbox/xint/doc/nan.html | 18
   sandbox/xint/doc/nan_8dox.html | 6
   sandbox/xint/doc/operators_8cpp.html | 27
   sandbox/xint/doc/operators_8cpp_source.html | 40
   sandbox/xint/doc/pages.html | 6
   sandbox/xint/doc/powers_8cpp.html | 31
   sandbox/xint/doc/powers_8cpp_source.html | 190 +-
   sandbox/xint/doc/primes.html | 17
   sandbox/xint/doc/primes_8cpp.html | 24
   sandbox/xint/doc/primes_8cpp_source.html | 114 -
   sandbox/xint/doc/primes_8dox.html | 6
   sandbox/xint/doc/primitives_8cpp.html | 40
   sandbox/xint/doc/primitives_8cpp_source.html | 507 +++----
   sandbox/xint/doc/r__core.html | 18
   sandbox/xint/doc/r__core_8dox.html | 6
   sandbox/xint/doc/r__cow.html | 8
   sandbox/xint/doc/r__cow_8dox.html | 6
   sandbox/xint/doc/r__default__necessary.html | 8
   sandbox/xint/doc/r__default__necessary_8dox.html | 6
   sandbox/xint/doc/r__exception__blocking.html | 8
   sandbox/xint/doc/r__exception__blocking_8dox.html | 6
   sandbox/xint/doc/r__insecure__default.html | 10
   sandbox/xint/doc/r__insecure__default_8dox.html | 6
   sandbox/xint/doc/r__interface.html | 8
   sandbox/xint/doc/r__interface_8dox.html | 6
   sandbox/xint/doc/r__interface__design__only.html | 8
   sandbox/xint/doc/r__interface__design__only_8dox.html | 6
   sandbox/xint/doc/r__nan.html | 8
   sandbox/xint/doc/r__nan_8dox.html | 6
   sandbox/xint/doc/r__negzero.html | 10
   sandbox/xint/doc/r__negzero_8dox.html | 6
   sandbox/xint/doc/r__random.html | 8
   sandbox/xint/doc/r__random_8dox.html | 6
   sandbox/xint/doc/r__shared__ptr.html | 8
   sandbox/xint/doc/r__shared__ptr_8dox.html | 6
   sandbox/xint/doc/random.html | 10
   sandbox/xint/doc/random_8cpp.html | 24
   sandbox/xint/doc/random_8cpp_source.html | 243 +--
   sandbox/xint/doc/random_8dox.html | 6
   sandbox/xint/doc/rationale.html | 28
   sandbox/xint/doc/rationale_8dox.html | 6
   sandbox/xint/doc/roots_8cpp.html | 18
   sandbox/xint/doc/roots_8cpp_source.html | 63
   sandbox/xint/doc/securemode.html | 6
   sandbox/xint/doc/securemode_8dox.html | 6
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator-members.html | 6
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1base__random__generator.html | 10
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t-members.html | 7
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t.html | 75
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits-members.html | 6
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html | 8
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator-members.html | 6
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1random__generator.html | 10
   sandbox/xint/doc/structboost_1_1xint_1_1detail_1_1token.html | 8
   sandbox/xint/doc/testing.html | 6
   sandbox/xint/doc/testing_8dox.html | 6
   sandbox/xint/doc/threadsafe.html | 6
   sandbox/xint/doc/threadsafe_8dox.html | 6
   sandbox/xint/doc/todo.html | 8
   sandbox/xint/doc/xint_8hpp.html | 328 +++--
   sandbox/xint/doc/xint_8hpp_source.html | 1208 ++++++++++----------
   sandbox/xint/doc/xint__data__t_8hpp.html | 11
   sandbox/xint/doc/xint__data__t_8hpp_source.html | 73
   sandbox/xint/doc/xint__monty_8hpp.html | 14
   sandbox/xint/doc/xint__monty_8hpp_source.html | 6
   sandbox/xint/doc/xint__test_8hpp.html | 10
   sandbox/xint/doc/xint__test_8hpp_source.html | 6
   sandbox/xint/example/exceptions.cpp | 2
   sandbox/xint/example/fibonacci.cpp | 2
   sandbox/xint/example/genprime.cpp | 3
   sandbox/xint/src/bit_manipulations.cpp | 248 +---
   sandbox/xint/src/compare.cpp | 70
   sandbox/xint/src/convert.cpp | 181 +-
   sandbox/xint/src/data_t.cpp | 21
   sandbox/xint/src/gcd.cpp | 83
   sandbox/xint/src/integer.cpp | 488 +------
   sandbox/xint/src/misc.cpp | 34
   sandbox/xint/src/modular.cpp | 117 -
   sandbox/xint/src/operators.cpp | 12
   sandbox/xint/src/powers.cpp | 92 -
   sandbox/xint/src/primes.cpp | 84
   sandbox/xint/src/primitives.cpp | 168 -
   sandbox/xint/src/random.cpp | 55
   sandbox/xint/src/roots.cpp | 33
   sandbox/xint/test/test_add.cpp | 2
   sandbox/xint/test/test_bit_manipulations.cpp | 2
   sandbox/xint/test/test_convert.cpp | 4
   sandbox/xint/test/test_divide.cpp | 2
   sandbox/xint/test/test_multiply.cpp | 18
   sandbox/xint/test/test_streams.cpp | 6
   192 files changed, 5378 insertions(+), 8238 deletions(-)

Modified: sandbox/xint/boost/xint/xint.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint.hpp (original)
+++ sandbox/xint/boost/xint/xint.hpp 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -36,7 +36,7 @@
 #include <boost/random/variate_generator.hpp>
 
 namespace boost {
-//! \brief All of the commonly-used functions are within this namespace.
+//! \brief The common functions are within this namespace.
 namespace xint {
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -123,41 +123,77 @@
 //! @see xint::from_string
 const size_t autobase=(std::numeric_limits<size_t>::max)();
 
+namespace blockable {
 class integer;
+} // namespace blockable
 
-/*! \brief Contains the core integer type and core functions.
+/*! \brief Contains the "pure" integer type, and functions to operate on it.
 
-The types and functions in the xint::core namespace operate exactly like those
-of the same names in the xint namespace, except that they ignore any
-exception-blocking and do not support the Not-a-Number value. If you attempt to
-assign a Not-a-Number to a core::integer, it will throw an xint::not_a_number
-exception.
-
-These functions are not documented separately; see the corresponding classes and
-functions in the xint::integer namespace for documentation on them.
+The types and functions in the xint::core namespace ignore exception-blocking
+and do not support the Not-a-Number value. If you attempt to assign a
+Not-a-Number to a core::integer, it will throw an xint::not_a_number exception.
 */
 namespace core {
 
-//! \brief The core integer class.
-class integer {
+//! \brief The base class for the integer classes.
+class base_integer {
+ public:
+ base_integer(): data(0) { }
+ ~base_integer();
+
+ //! \name Internal Functions
+ //@{
+ detail::data_t *_get_data() const { return data; }
+ detail::digit_t _get_digit(size_t index) const;
+ detail::digit_t _get_digit(size_t index, bool) const; //!< \overload
+ size_t _get_length() const;
+ bool _is_unique() const;
+ //@}
+
+ protected:
+ void _attach(detail::data_t *new_data);
+ void _attach(const base_integer& copy);
+
+ private:
+ detail::data_t *data;
+};
+
+/*! \brief The core %integer class.
+
+ This class implements the "pure" \c integer type, uncontaminated by things
+ like the Not-a-Number value.
+
+ There are only a few member functions; most of the functionality is
+ implemented using standalone functions.
+
+ Functions that start with an underscore (such as \c _make_unique) are
+ intended for internal use only. They may change arbitrarily in future
+ versions.
+*/
+class integer: public core::base_integer {
     public:
 
     //! \name Constructors & Destructors
     //!@{
     integer();
     integer(const integer& b);
- explicit integer(const ::boost::xint::integer& b);
+ explicit integer(const blockable::integer& b);
+ explicit integer(const std::string& str, size_t base=10);
     template <typename T> integer(const T& n,
         typename boost::enable_if<boost::is_integral<T> >::type* = 0,
         typename boost::enable_if<boost::is_signed<T> >::type* = 0);
     template <typename T> integer(const T& n,
         typename boost::enable_if<boost::is_integral<T> >::type* = 0,
         typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
- explicit integer(const std::string& str, size_t base=10);
- ~integer();
     //!@}
 
- //! \name Mathematical and Bitwise Operators
+ /*! \name Mathematical and Bitwise Operators
+ \brief These operate exactly like their counterparts for the built-in
+ %integer types.
+
+ Note that there is no \c operator~. Since the integer type doesn't have
+ a fixed maximum size, there is no logical way to implement it.
+ */
     //@{
     integer& operator=(const integer &c);
 
@@ -181,7 +217,12 @@
     integer& operator>>=(size_t shift);
     //@}
 
- //! \name Preconstructed integers
+ /*! \name Preconstructed integers
+
+ These return preconstructed integers with the values named by the
+ functions. They are used internally, so that the most common values
+ don't have to be constructed each time they're needed.
+ */
     //@{
     static const integer& zero();
     static const integer& one();
@@ -196,13 +237,11 @@
     size_t hex_digits() const;
     //!@}
 
- //! \name Internal Functions
+ /*! \name Internal Functions
+ \brief These functions allow access to the internals of the %integer.
+ They are intended for internal use only.
+ */
     //@{
- detail::data_t *_get_data() { return data; }
- const detail::data_t *_get_data() const { return data; }
- detail::digit_t _get_digit(size_t index) const;
- detail::digit_t _get_digit(size_t index, bool) const; //!< \overload
- size_t _get_length() const;
     void _set_negative(bool negative);
     void _make_unique();
     //@}
@@ -211,20 +250,132 @@
     void _init(detail::digit_t init=0);
     void _init(const integer &c); //!< \overload
     void _init(boost::uintmax_t n); //!< \overload
- void _attach();
- void _detach();
-
- detail::data_t *data;
 };
 
+//! \name Mathematical primitives
+//!@{
+integer abs(const integer& n);
+integer negate(const integer& n);
+integer add(const integer& n, const integer& addend);
+integer subtract(const integer& n, const integer& subtrahend);
+integer multiply(const integer& n, const integer& multiplicand);
+integer divide(const integer& dividend, const integer& divisor);
+std::pair<integer, integer> divide_r(const integer& dividend, const integer&
+ divisor);
+//!@}
+
+//! \name Powers and roots
+//!@{
+integer sqr(const integer& n);
+integer pow(const integer& n, const integer& exponent);
+integer pow2(size_t exponent);
+integer factorial(size_t n);
+integer sqrt(const integer& n);
+//!@}
+
+//! \name Conversion functions
+//!@{
+template <typename T> T to(const integer& n);
+std::string to_string(const integer& n, size_t base=10, bool upperCase=false);
+integer from_string(const std::string& str, size_t base=10);
+std::string to_binary(const integer& n);
+integer from_binary(const std::string& s);
+//!@}
+
+//! \name Bit-manipulation functions
+//!@{
+bool getbit(const integer& n, size_t bit);
+void setbit(integer& n, size_t bit);
+void clearbit(integer& n, size_t bit);
+size_t lowestbit(const integer& n, size_t valueIfZero=0);
+size_t highestbit(const integer& n, size_t valueIfZero=0);
+integer bitwise_and(const integer& n1, const integer& n2);
+integer bitwise_or (const integer& n1, const integer& n2);
+integer bitwise_xor(const integer& n1, const integer& n2);
+integer shift(const integer& n, int byBits);
+integer shift_left(const integer& n, size_t byBits);
+integer shift_right(const integer& n, size_t byBits);
+//!@}
+
+/*! \name Modular math functions
+
+A common reason to use a large-integer library is to implement public-key
+encryption, and the algorithms for such encryption often use modular math.
+*/
+//!@{
+integer mod(const integer& n, const integer& modBy);
+integer mulmod(const integer& n, const integer& by, const integer& modulus);
+integer sqrmod(const integer& n, const integer& modulus);
+integer powmod(const integer& n, const integer& exponent, const integer&
+ modulus, bool noMontgomery=false);
+integer invmod(const integer& n, const integer& modulus);
+//!@}
+
+//! \name Random number functions
+//!@{
+integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
+ lowBitOn=false, bool canBeNegative=false);
+//!@}
+
+//! \name Prime number functions
+//!@{
+int is_prime(const integer& n, callback_t callback=no_callback);
+integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
+//!@}
+
+/*! \name Operators
+
+ These act exactly the same as for the built-in %integer types.
+*/
+//!@{
+bool operator!(const integer& n1);
+bool operator<(const integer& n1, const integer& n2);
+bool operator>(const integer& n1, const integer& n2);
+bool operator<=(const integer& n1, const integer& n2);
+bool operator>=(const integer& n1, const integer& n2);
+bool operator==(const integer& n1, const integer& n2);
+bool operator!=(const integer& n1, const integer& n2);
+
+const integer& operator+(const integer& a);
+integer operator-(const integer& a);
+integer operator+(const integer& n1, const integer& n2);
+integer operator-(const integer& n1, const integer& n2);
+integer operator*(const integer& n1, const integer& n2);
+integer operator/(const integer& n1, const integer& n2);
+integer operator%(const integer& n1, const integer& n2);
+integer operator&(const integer& n1, const integer& n2);
+integer operator|(const integer& n1, const integer& n2);
+integer operator^(const integer& n1, const integer& n2);
+//!@}
+
+//! \name Miscellaneous functions
+//!@{
+int compare(const integer &n1, const integer &n2, bool ignoresign=false);
+size_t log2(const integer& n);
+integer gcd(const integer& num1, const integer& num2);
+integer lcm(const integer& num1, const integer& num2);
+//!@}
+
 } // namespace core
 
+/*! \brief Contains the blockable integer type, and functions to operate on it.
+
+The types and functions in the \c blockable namespace act just like the ones in
+the \c xint::core namespace, except that they honor exception-blocking and
+support a Not-a-Number value.
+
+\see exceptions
+\see nan
+*/
+namespace blockable {
+
 ////////////////////////////////////////////////////////////////////////////////
-// The integer class
+// The blockable integer class
 
-/*! \brief The extended %integer class.
+/*! \brief The blockable %integer class.
 
- This class implements the main \c integer type.
+ Functions using this class can be exception-blocked. See \link exceptions
+ this page\endlink for details.
 
     There are only a few member functions; most of the functionality is
     implemented using standalone functions.
@@ -233,7 +384,7 @@
     intended for internal use only. They may change arbitrarily in future
     versions.
 */
-class integer {
+class integer: public core::base_integer {
     public:
 
     //! \name Constructors & Destructors
@@ -241,13 +392,13 @@
     integer();
     integer(const integer& b);
     integer(const core::integer& b);
+ explicit integer(const std::string& str, size_t base=10);
     template <typename T> integer(const T& n,
         typename boost::enable_if<boost::is_integral<T> >::type* = 0,
         typename boost::enable_if<boost::is_signed<T> >::type* = 0);
     template <typename T> integer(const T& n,
         typename boost::enable_if<boost::is_integral<T> >::type* = 0,
         typename boost::enable_if<boost::is_unsigned<T> >::type* = 0);
- explicit integer(const std::string& str, size_t base=10);
     //!@}
 
     /*! \name Mathematical and Bitwise Operators
@@ -294,8 +445,7 @@
 
         These return preconstructed integers with the values named by the
         functions. They are used internally, so that the most common values
- don't have to be constructed each time they're needed, but they are
- available to your own code as well.
+ don't have to be constructed each time they're needed.
     */
     //@{
     static const integer& zero();
@@ -308,11 +458,6 @@
                They are intended for internal use only.
     */
     //@{
- detail::data_t *_get_data() { return data; }
- const detail::data_t *_get_data() const { return data; }
- detail::digit_t _get_digit(size_t index) const;
- detail::digit_t _get_digit(size_t index, bool) const; //!< \overload
- size_t _get_length() const;
     void _set_negative(bool negative);
     void _make_unique();
     //@}
@@ -321,56 +466,8 @@
     void _init(detail::digit_t init=0);
     void _init(const integer &c); //!< \overload
     void _init(boost::uintmax_t n); //!< \overload
- void _attach();
- void _detach();
-
- detail::data_t *data;
-};
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \brief A convenience class for cryptographically-secure random numbers.
-
- Used with xint::set_random_generator to set the XInt library to use the
- system-supplied secure random number generator.
-
- \see \ref random
-*/
-class strong_random_generator {
- public:
- typedef unsigned int result_type;
-
- strong_random_generator();
- ~strong_random_generator();
- result_type operator()();
-
- static const bool has_fixed_range;
- static const result_type min_value;
- static const result_type max_value;
- result_type min() const;
- result_type max() const;
- double entropy() const;
-
- private:
- struct impl_t;
- impl_t *impl;
 };
 
-////////////////////////////////////////////////////////////////////////////////
-
-/*! \name Exception-blocking and -allowing functions
-
- See the \ref exceptions "exception-blocking page" for details on these
- functions and how to use them.
-*/
-//!@{
-bool exceptions_allowed();
-token block_exceptions();
-token allow_exceptions();
-//!@}
-
-////////////////////////////////////////////////////////////////////////////////
-
 //! \name Mathematical primitives
 //!@{
 integer abs(const integer& n);
@@ -381,17 +478,6 @@
 integer divide(const integer& dividend, const integer& divisor);
 std::pair<integer, integer> divide_r(const integer& dividend, const integer&
     divisor);
-
-namespace core {
-integer abs(const integer& n);
-integer negate(const integer& n);
-integer add(const integer& n, const integer& addend);
-integer subtract(const integer& n, const integer& subtrahend);
-integer multiply(const integer& n, const integer& multiplicand);
-integer divide(const integer& dividend, const integer& divisor);
-std::pair<integer, integer> divide_r(const integer& dividend, const integer&
- divisor);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -403,14 +489,6 @@
 integer pow2(size_t exponent);
 integer factorial(size_t n);
 integer sqrt(const integer& n);
-
-namespace core {
-integer sqr(const integer& n);
-integer pow(const integer& n, const integer& exponent);
-integer pow2(size_t exponent);
-integer factorial(size_t n);
-integer sqrt(const integer& n);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -422,14 +500,6 @@
 integer from_string(const std::string& str, size_t base=10);
 std::string to_binary(const integer& n);
 integer from_binary(const std::string& s);
-
-namespace core {
-template <typename T> T to(const integer& n);
-std::string to_string(const integer& n, size_t base=10, bool upperCase=false);
-integer from_string(const std::string& str, size_t base=10);
-std::string to_binary(const integer& n);
-integer from_binary(const std::string& s);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -447,20 +517,6 @@
 integer shift(const integer& n, int byBits);
 integer shift_left(const integer& n, size_t byBits);
 integer shift_right(const integer& n, size_t byBits);
-
-namespace core {
-bool getbit(const integer& n, size_t bit);
-void setbit(integer& n, size_t bit);
-void clearbit(integer& n, size_t bit);
-size_t lowestbit(const integer& n, size_t valueIfZero=0);
-size_t highestbit(const integer& n, size_t valueIfZero=0);
-integer bitwise_and(const integer& n1, const integer& n2);
-integer bitwise_or (const integer& n1, const integer& n2);
-integer bitwise_xor(const integer& n1, const integer& n2);
-integer shift(const integer& n, int byBits);
-integer shift_left(const integer& n, size_t byBits);
-integer shift_right(const integer& n, size_t byBits);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -477,29 +533,14 @@
 integer powmod(const integer& n, const integer& exponent, const integer&
     modulus, bool noMontgomery=false);
 integer invmod(const integer& n, const integer& modulus);
-
-namespace core {
-integer mod(const integer& n, const integer& modBy);
-integer mulmod(const integer& n, const integer& by, const integer& modulus);
-integer sqrmod(const integer& n, const integer& modulus);
-integer powmod(const integer& n, const integer& exponent, const integer&
- modulus, bool noMontgomery=false);
-integer invmod(const integer& n, const integer& modulus);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
 
 //! \name Random number functions
 //!@{
-template <typename T> void set_random_generator(T *gen);
-integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
- lowBitOn=false, bool canBeNegative=false);
-
-namespace core {
 integer random_by_size(size_t sizeInBits, bool highBitOn=false, bool
     lowBitOn=false, bool canBeNegative=false);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -508,11 +549,6 @@
 //!@{
 int is_prime(const integer& n, callback_t callback=no_callback);
 integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
-
-namespace core {
-int is_prime(const integer& n, callback_t callback=no_callback);
-integer random_prime(size_t sizeInBits, callback_t callback=no_callback);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -521,27 +557,7 @@
 
     These act exactly the same as for the built-in %integer types.
 */
-//!@{
-bool operator!(const integer& n1);
-bool operator<(const integer& n1, const integer& n2);
-bool operator>(const integer& n1, const integer& n2);
-bool operator<=(const integer& n1, const integer& n2);
-bool operator>=(const integer& n1, const integer& n2);
-bool operator==(const integer& n1, const integer& n2);
-bool operator!=(const integer& n1, const integer& n2);
-
-const integer& operator+(const integer& a);
-integer operator-(const integer& a);
-integer operator+(const integer& n1, const integer& n2);
-integer operator-(const integer& n1, const integer& n2);
-integer operator*(const integer& n1, const integer& n2);
-integer operator/(const integer& n1, const integer& n2);
-integer operator%(const integer& n1, const integer& n2);
-integer operator&(const integer& n1, const integer& n2);
-integer operator|(const integer& n1, const integer& n2);
-integer operator^(const integer& n1, const integer& n2);
-
-namespace core {
+//!@{
 bool operator!(const integer& n1);
 bool operator<(const integer& n1, const integer& n2);
 bool operator>(const integer& n1, const integer& n2);
@@ -560,27 +576,71 @@
 integer operator&(const integer& n1, const integer& n2);
 integer operator|(const integer& n1, const integer& n2);
 integer operator^(const integer& n1, const integer& n2);
-} // namespace core
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
 
 //! \name Miscellaneous functions
 //!@{
-bool opt_secure_mode();
-bool opt_thread_safe();
-
 int compare(const integer &n1, const integer &n2, bool ignoresign=false);
 size_t log2(const integer& n);
 integer gcd(const integer& num1, const integer& num2);
 integer lcm(const integer& num1, const integer& num2);
+//!@}
 
-namespace core {
-int compare(const integer &n1, const integer &n2, bool ignoresign=false);
-size_t log2(const integer& n);
-integer gcd(const integer& num1, const integer& num2);
-integer lcm(const integer& num1, const integer& num2);
-} // namespace core
+} // namespace blockable
+
+////////////////////////////////////////////////////////////////////////////////
+
+/*! \brief A convenience class for cryptographically-secure random numbers.
+
+ Used with xint::set_random_generator to set the XInt library to use the
+ system-supplied secure random number generator.
+
+ \see \ref random
+*/
+class strong_random_generator {
+ public:
+ typedef unsigned int result_type;
+
+ strong_random_generator();
+ ~strong_random_generator();
+ result_type operator()();
+
+ static const bool has_fixed_range;
+ static const result_type min_value;
+ static const result_type max_value;
+ result_type min() const;
+ result_type max() const;
+ double entropy() const;
+
+ private:
+ struct impl_t;
+ impl_t *impl;
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+/*! \name Exception-blocking and -allowing functions
+
+ See the \ref exceptions "exception-blocking page" for details on these
+ functions and how to use them.
+*/
+//!@{
+bool exceptions_allowed();
+token block_exceptions();
+token allow_exceptions();
+//!@}
+
+//! \name Random number functions
+//!@{
+template <typename T> void set_random_generator(T *gen);
+//!@}
+
+//! \name Miscellaneous functions
+//!@{
+bool opt_secure_mode();
+bool opt_thread_safe();
 //!@}
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -702,38 +762,26 @@
 ////////////////////////////////////////////////////////////////////////////////
 // Template function definitions
 
-namespace core {
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_signed<T> >::type*)
-{
- if (n >= 0) {
- if (static_cast<T>(n & detail::digit_mask) == n)
- _init(detail::digit_t(n));
- else _init(boost::uintmax_t(n));
- } else if (n == (std::numeric_limits<T>::min)()) {
- // Have to treat the minimum number carefully, because -n is not
- // what you'd think it is.
- _init(boost::uintmax_t(-(n+1)));
- _set_negative(true);
- --(*this);
- } else {
- _init(boost::uintmax_t(-n));
- _set_negative(true);
- }
+/*! \brief Change the random generator that the library uses.
+
+\param[in] gen A pointer to the new generator to use.
+
+\warning The generator must be a heap-allocated pointer (one created with
+<code>new</code>), which the XInt library assumes ownership of. Don't pass in a
+stack-created item, don't try to delete the item that you passed in, and don't
+attempt to use it separately after passing it to this function, or the behavior
+is undefined.
+
+\remarks
+See the \link random Random Number page\endlink for an example of how to use it.
+*/
+template <typename T>
+void set_random_generator(T *gen) {
+ detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
+ detail::set_random_generator(obj);
 }
-} // namespace core
 
 namespace core {
-template <typename T> integer::integer(const T& n,
- typename boost::enable_if<boost::is_integral<T> >::type*,
- typename boost::enable_if<boost::is_unsigned<T> >::type*)
-{
- if (static_cast<T>(n & detail::digit_mask) == n)
- _init(detail::digit_t(n));
- else _init(boost::uintmax_t(n));
-}
-} // namespace core
 
 /*!
     Constructs a new integer object with the value of the built-in signed
@@ -751,13 +799,19 @@
     typename boost::enable_if<boost::is_integral<T> >::type*,
     typename boost::enable_if<boost::is_signed<T> >::type*)
 {
- data=0;
- try {
- *this=integer(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- delete data;
- data=0;
+ if (n >= 0) {
+ if (static_cast<T>(n & detail::digit_mask) == n)
+ _init(detail::digit_t(n));
+ else _init(boost::uintmax_t(n));
+ } else if (n == (std::numeric_limits<T>::min)()) {
+ // Have to treat the minimum number carefully, because -n is not
+ // what you'd think it is.
+ _init(boost::uintmax_t(-(n+1)));
+ _set_negative(true);
+ --(*this);
+ } else {
+ _init(boost::uintmax_t(-n));
+ _set_negative(true);
     }
 }
 
@@ -777,32 +831,10 @@
     typename boost::enable_if<boost::is_integral<T> >::type*,
     typename boost::enable_if<boost::is_unsigned<T> >::type*)
 {
- data=0;
- try {
- *this=integer(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- delete data;
- data=0;
- }
-}
-
-namespace core {
-template <typename T>
-T to(const integer& n) {
- if (n < (std::numeric_limits<T>::min)()
- || n > (std::numeric_limits<T>::max)())
- throw too_big("value out of range for requested conversion");
-
- T rval=0;
- size_t len=n._get_length();
- for (size_t x=0; x<len; ++x)
- rval=static_cast<T>((rval * detail::digit_overflowbit)
- + n._get_digit(len-x-1));
- if (n.sign() < 0) rval *= -1;
- return rval;
+ if (static_cast<T>(n & detail::digit_mask) == n)
+ _init(detail::digit_t(n));
+ else _init(boost::uintmax_t(n));
 }
-} // namespace core
 
 /*! \brief Efficiently converts from an xint::integer to a built-in %integer
            type.
@@ -813,41 +845,24 @@
 \returns The numeric value of \c n, converted to the specified type.
 
 \exception xint::too_big if \c n would not fit into the specified type.
-
-\note If exceptions are blocked, returns T(0) instead of throwing.
 */
 template <typename T>
 T to(const integer& n) {
- try {
- return to<T>(core::integer(n));
- } catch (std::exception&) {
- if (exceptions_allowed()) throw;
- else return 0;
- }
-}
-
-/*! \brief Change the random generator that the library uses.
-
-\param[in] gen A pointer to the new generator to use.
-
-\warning The generator must be a heap-allocated pointer (one created with
-<code>new</code>), which the XInt library assumes ownership of. Don't pass in a
-stack-created item, don't try to delete the item that you passed in, and don't
-attempt to use it separately after passing it to this function, or the behavior
-is undefined.
+ if (n < (std::numeric_limits<T>::min)()
+ || n > (std::numeric_limits<T>::max)())
+ throw too_big("value out of range for requested conversion");
 
-\remarks
-See the \link random Random Number page\endlink for an example of how to use it.
-*/
-template <typename T>
-void set_random_generator(T *gen) {
- detail::random_generator<T> *obj=new detail::random_generator<T>(gen);
- detail::set_random_generator(obj);
+ T rval=0;
+ size_t len=n._get_length();
+ for (size_t x=0; x<len; ++x)
+ rval=static_cast<T>((rval * detail::digit_overflowbit)
+ + n._get_digit(len-x-1));
+ if (n.sign() < 0) rval *= -1;
+ return rval;
 }
 
 //! \name Stream input/output functions
 //!@{
-namespace core {
 template <typename charT, typename traits>
 inline std::basic_ostream<charT,traits>& operator<<(std::basic_ostream<charT,
     traits>& out, const integer& n)
@@ -873,9 +888,7 @@
     }
     return out;
 }
-} // namespace core
 
-namespace core {
 template <typename charT, typename traits>
 inline std::basic_istream<charT,traits>& operator>>(std::basic_istream<charT,
     traits>& in, integer& n)
@@ -935,9 +948,74 @@
 
     return in;
 }
-} // namespace core
 //!@}
 
+} // namespace core
+
+namespace blockable {
+
+/*!
+ Constructs a new integer object with the value of the built-in signed
+ %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> integer::integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_signed<T> >::type*)
+{
+ try {
+ *this=integer(core::integer(n));
+ } catch (std::exception&) {
+ if (exceptions_allowed()) throw;
+ _attach(0);
+ }
+}
+
+/*!
+ Constructs a new integer object with the value of the built-in unsigned
+ %integer passed to it.
+
+ \param[in] n A number of type \c T.
+ \tparam T The type of \c n.
+
+ You can ignore the \c enable_if parameters, they are there only to tell
+ the compiler what types it applies to.
+
+ \overload
+*/
+template <typename T> integer::integer(const T& n,
+ typename boost::enable_if<boost::is_integral<T> >::type*,
+ typename boost::enable_if<boost::is_unsigned<T> >::type*)
+{
+ try {
+ *this=integer(core::integer(n));
+ } catch (std::exception&) {
+ if (exceptions_allowed()) throw;
+ _attach(0);
+ }
+}
+
+/*! \copydoc core::to
+
+\note If exceptions are blocked, returns T(0) instead of throwing.
+*/
+template <typename T>
+T to(const integer& n) {
+ try {
+ return to<T>(core::integer(n));
+ } catch (std::exception&) {
+ if (exceptions_allowed()) throw;
+ else return 0;
+ }
+}
+
 //! \name Stream input/output functions
 //!@{
 template <typename charT, typename traits>
@@ -975,6 +1053,10 @@
 }
 //!@}
 
+} // namespace blockable
+
+namespace test = core;
+
 } // namespace xint
 } // namespace boost
 

Modified: sandbox/xint/boost/xint/xint_data_t.hpp
==============================================================================
--- sandbox/xint/boost/xint/xint_data_t.hpp (original)
+++ sandbox/xint/boost/xint/xint_data_t.hpp 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -63,6 +63,7 @@
     public:
     data_t(digit_t initial1=0, digit_t initial2=0, digit_t initial3=0);
     data_t(data_t *c);
+ data_t(boost::uintmax_t n, bool);
 
     #if defined(XINT_SECURE)
         ~data_t();

Modified: sandbox/xint/doc/acknowledgements.html
==============================================================================
--- sandbox/xint/doc/acknowledgements.html (original)
+++ sandbox/xint/doc/acknowledgements.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,7 +26,7 @@
 
 <h1><a class="anchor" id="acknowledgements">Acknowledgements </a></h1><p>Several people have helped me improve the XInt library. Particular thanks go to Paul Bristow, for...</p>
 <ul>
-<li>Pointing out the need for a specialization of <code>std::numeric_limits</code> for <code>xint::integer</code>;</li>
+<li>Pointing out the need for a specialization of <code>std::numeric_limits</code> for the library-provided types;</li>
 <li>Spending a great deal of time and effort to introduce me to the Boost.Test framework and Doxygen/QuickBook;</li>
 <li>Providing test cases and documentation tweaks;</li>
 <li>General advice and moral support.</li>
@@ -40,6 +40,7 @@
 <li>Jeffrey Lee Hellrung, Jr., for advice on implementing move-aware objects, and for an invigorating discussion on the differing needs of an integer library versus a floating-point one, among other things.</li>
 <li>Peter Dimov, for suggesting a separate <code>xint::overflow_error</code> exception class.</li>
 <li>"Fred," a.k.a. "Gottlob Frege", for information on infinities.</li>
+<li>Joachim Faulhaber for a discussion of intervals and interval containers.</li>
 </ul>
 <p>And the other Boost development list members who joined the discussion:</p>
 <ul>
@@ -54,8 +55,8 @@
 </ul>
 <p>If I've forgotten anyone, please let me know and I'll correct the oversight. </p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/acknowledgements_8dox.html
==============================================================================
--- sandbox/xint/doc/acknowledgements_8dox.html (original)
+++ sandbox/xint/doc/acknowledgements_8dox.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -29,8 +29,8 @@
 <h1>/home/chad/projects/xint/doc/dox/acknowledgements.dox File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
 </table>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/annotated.html
==============================================================================
--- sandbox/xint/doc/annotated.html (original)
+++ sandbox/xint/doc/annotated.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -28,12 +28,13 @@
 </div>
 <div class="contents">
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td class="indexvalue">The base class for the integer classes </td></tr>
   <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">boost::xint::detail::base_random_generator</a></td><td class="indexvalue">The base class for <a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html" title="Support class for the random generator code.">random_generator</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1cannot__represent.html">boost::xint::cannot_represent</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td class="indexvalue">Holds the internal details of an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">xint::integer</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">boost::xint::detail::data_t</a></td><td class="indexvalue">Holds the internal details of an xint::integer </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">boost::xint::divide_by_zero</a></td><td class="indexvalue">Exception class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td class="indexvalue">The <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td class="indexvalue">The extended integer class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td class="indexvalue">The core integer class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td class="indexvalue">The blockable integer class </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::invalid_base</a></td><td class="indexvalue">Exception class </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a></td><td class="indexvalue">Exception class </td></tr>
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::invalid_modulus</a></td><td class="indexvalue">Exception class </td></tr>
@@ -47,8 +48,8 @@
   <tr><td class="indexkey"><a class="el" href="classboost_1_1xint_1_1too__big.html">boost::xint::too_big</a></td><td class="indexvalue">Exception class </td></tr>
 </table>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/bit__manipulations_8cpp.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -29,8 +29,6 @@
 <h1>bit_manipulations.cpp File Reference</h1>
 <p>Contains the bit-manipulation functions.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
 
 <p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
@@ -38,59 +36,48 @@
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the "pure" integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Bit-manipulation functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
+</div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a06f4b3f75bb5e648e865f20990f8154c">boost::xint::core::getbit</a> (const integer &amp;n, size_t 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="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778">boost::xint::core::setbit</a> (integer &amp;n, size_t 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 class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#abd43d348da182e32e931743d1837f849">boost::xint::core::clearbit</a> (integer &amp;n, size_t 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="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#afbb649428a445bd8a6e7d9bcfab69707">boost::xint::core::lowestbit</a> (const integer &amp;n, size_t valueIfZero)</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="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a2a32641fadc89dc7385b2f1a0af862dc">boost::xint::core::highestbit</a> (const integer &amp;n, size_t valueIfZero)</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="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f">boost::xint::core::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>AND</code> operation. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a04384ebf492038c4ba83af9736412c9b">boost::xint::core::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>OR</code> operation. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a86446e5e38a977b68f041dfa4b82a385">boost::xint::core::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>XOR</code> operation. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a">boost::xint::core::shift</a> (const integer &amp;n, int byBits)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-shift an integer, in either direction. <br/></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc">boost::xint::core::shift_left</a> (const integer &amp;n, size_t byBits)</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">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253">boost::xint::core::shift_right</a> (const integer &amp;n, size_t byBits)</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Bit-manipulation functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b">boost::xint::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the value of a particular bit in an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182">boost::xint::setbit</a> (integer &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> to one. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df">boost::xint::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a specific bit in an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> to zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40">boost::xint::lowestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the lowest bit in an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> with a value of one. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60">boost::xint::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains the index of the highest bit in an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> with a value of one. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2">boost::xint::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>AND</code> operation. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec">boost::xint::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>OR</code> operation. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1">boost::xint::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine two integers using a bitwise <code>XOR</code> operation. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014">boost::xint::shift</a> (const integer &amp;n, int byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit-shift an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>, in either direction. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96">boost::xint::shift_left</a> (const integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left-shift an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> by a specified number of bits. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2">boost::xint::shift_right</a> (const integer &amp;n, size_t byBits)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right-shift an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> by a specified number of bits. <br/></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right-shift an integer by a specified number of bits. <br/></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
 <p>Contains the bit-manipulation functions. </p>
 
 <p>Definition in file <a class="el" href="bit__manipulations_8cpp_source.html">bit_manipulations.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/bit__manipulations_8cpp_source.html
==============================================================================
--- sandbox/xint/doc/bit__manipulations_8cpp_source.html (original)
+++ sandbox/xint/doc/bit__manipulations_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -40,249 +40,151 @@
 <a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint_data_t.hpp&quot;</span>
 <a name="l00020"></a>00020
-<a name="l00021"></a><a class="code" href="namespaceboost.html">00021</a> <span class="keyword">namespace </span>boost {
-<a name="l00022"></a><a class="code" href="namespaceboost_1_1xint.html">00022</a> <span class="keyword">namespace </span>xint {
+<a name="l00021"></a><a class="code" href="namespaceboost_1_1xint.html">00021</a> <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
 <a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keyword">using namespace </span>detail;
+<a name="l00024"></a><a class="code" href="namespaceboost_1_1xint_1_1core.html">00024</a> <span class="keyword">using namespace </span>detail;
 <a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="namespaceboost_1_1xint_1_1core.html">00026</a> <span class="keyword">namespace </span>core {
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>core {
 <a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a06f4b3f75bb5e648e865f20990f8154c">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00029"></a>00029 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00030"></a>00030 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a61ca83a82f49f63b3de8729cc9857f0c">_get_length</a>()) {
-<a name="l00031"></a>00031 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00032"></a>00032 <span class="keywordflow">return</span> ((n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a78bf0cc9214b8f0b1217d4b815a06827">_get_digit</a>(index) &amp; mask) != 0);
-<a name="l00033"></a>00033 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778">setbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00037"></a>00037 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00038"></a>00038 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00041"></a>00041 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a61ca83a82f49f63b3de8729cc9857f0c">_get_length</a>()) ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3bdd8e8ef7c5b8bc888b96725aac9dfe">realloc</a>(index+1);
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00044"></a>00044 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] |= mask;
-<a name="l00045"></a>00045 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#abd43d348da182e32e931743d1837f849">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00049"></a>00049 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
-<a name="l00050"></a>00050 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a61ca83a82f49f63b3de8729cc9857f0c">_get_length</a>()) {
-<a name="l00051"></a>00051 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
-<a name="l00053"></a>00053 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] &amp;= ~mask;
-<a name="l00054"></a>00054 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 }
+<a name="l00036"></a>00036 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a06f4b3f75bb5e648e865f20990f8154c" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00037"></a>00037 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
+<a name="l00038"></a>00038 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) {
+<a name="l00039"></a>00039 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> ((n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(index) &amp; mask) != 0);
+<a name="l00041"></a>00041 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aae966bbb23d33801b34108f4490b0778" title="Sets a specific bit in an integer to one.">setbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00052"></a>00052 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
+<a name="l00053"></a>00053 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
+<a name="l00056"></a>00056 <span class="keywordflow">if</span> (index &gt;= n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3bdd8e8ef7c5b8bc888b96725aac9dfe">realloc</a>(index+1);
 <a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#afbb649428a445bd8a6e7d9bcfab69707">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00062"></a>00062 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p=ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00063"></a>00063 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> index=(p - ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>);
-<a name="l00066"></a>00066 <span class="keywordtype">size_t</span> r=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * index);
-<a name="l00067"></a>00067 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> digit=*p;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
-<a name="l00070"></a>00070 digit&gt;&gt;=1;
-<a name="l00071"></a>00071 ++r;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="keywordflow">return</span> r;
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a2a32641fadc89dc7385b2f1a0af862dc">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00078"></a>00078 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1core.html#aa3924902931d74fe0a7d2c6daf9ab028">log2</a>(n)-1);
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00083"></a>00083 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00084"></a>00084 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00087"></a>00087 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00088"></a>00088 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>);
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>, *s2=larger-&gt;digits;
-<a name="l00091"></a>00091 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00096"></a>00096 <span class="keywordflow">return</span> r;
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a04384ebf492038c4ba83af9736412c9b">bitwise_or</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00100"></a>00100 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00101"></a>00101 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00104"></a>00104 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00105"></a>00105 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00108"></a>00108 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00109"></a>00109 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ | *s2++;
-<a name="l00112"></a>00112 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00115"></a>00115 <span class="keywordflow">return</span> r;
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a86446e5e38a977b68f041dfa4b82a385">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
-<a name="l00119"></a>00119 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00120"></a>00120 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00058"></a>00058 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
+<a name="l00059"></a>00059 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] |= mask;
+<a name="l00060"></a>00060 ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#abd43d348da182e32e931743d1837f849" title="Sets a specific bit in an integer to zero.">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00071"></a>00071 <span class="keywordtype">size_t</span> index=bit/<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>;
+<a name="l00072"></a>00072 <span class="keywordflow">if</span> (index &lt; n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()) {
+<a name="l00073"></a>00073 n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
+<a name="l00074"></a>00074 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> mask=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a>(1) &lt;&lt; (bit % <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a>));
+<a name="l00075"></a>00075 n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>[index] &amp;= ~mask;
+<a name="l00076"></a>00076 n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079
+<a name="l00089"></a>00089 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#afbb649428a445bd8a6e7d9bcfab69707" 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="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9" title="Tests the sign of *this.">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *ndata=n.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00093"></a>00093 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *p=ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *pe=p+ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
+<a name="l00094"></a>00094 <span class="keywordflow">while</span> (p!=pe &amp;&amp; *p==0) ++p;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keywordtype">size_t</span> index=(p - ndata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>);
+<a name="l00097"></a>00097 <span class="keywordtype">size_t</span> r=(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a7502e1dd4c20a5ad799c6414b55e6818">bits_per_digit</a> * index);
+<a name="l00098"></a>00098 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> digit=*p;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keywordflow">while</span> ((digit &amp; 0x01)==0) {
+<a name="l00101"></a>00101 digit&gt;&gt;=1;
+<a name="l00102"></a>00102 ++r;
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> r;
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00117"></a>00117 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a2a32641fadc89dc7385b2f1a0af862dc" 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="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00118"></a>00118 <span class="keywordflow">if</span> (n.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9" title="Tests the sign of *this.">sign</a>()==0) <span class="keywordflow">return</span> valueIfZero;
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(<a class="code" href="namespaceboost_1_1xint_1_1core.html#aa3924902931d74fe0a7d2c6daf9ab028" title="Get the log2 value of an integer.">log2</a>(n)-1);
+<a name="l00120"></a>00120 }
 <a name="l00121"></a>00121
-<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
-<a name="l00123"></a>00123 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>();
-<a name="l00124"></a>00124 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
-<a name="l00127"></a>00127 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
-<a name="l00128"></a>00128 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
-<a name="l00131"></a>00131 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
-<a name="l00134"></a>00134 <span class="keywordflow">return</span> r;
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00138"></a>00138 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc">shift_left</a>(n, byBits);
-<a name="l00139"></a>00139 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253">shift_right</a>(n, -byBits);
-<a name="l00140"></a>00140 }
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00143"></a>00143 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
+<a name="l00128"></a>00128 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#aab6badbf5997e33714d0dbe54c16375f" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
+<a name="l00129"></a>00129 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00130"></a>00130 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
+<a name="l00133"></a>00133 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00134"></a>00134 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>);
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>, *s2=larger-&gt;digits;
+<a name="l00137"></a>00137 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keywordflow">while</span> (s1 &lt; s1e) *t++ = *s1++ &amp; *s2++;
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> r;
+<a name="l00143"></a>00143 }
 <a name="l00144"></a>00144
-<a name="l00145"></a>00145 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
-<a name="l00146"></a>00146 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00147"></a>00147 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aaa43f067c7f1a7772276cf9a57ab653c">shift_left</a>(byBits);
-<a name="l00148"></a>00148 <span class="keywordflow">return</span> nn;
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
-<a name="l00155"></a>00155 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
-<a name="l00156"></a>00156 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ad28012e618ecab56b69ceac7585d1741">shift_right</a>(byBits);
-<a name="l00157"></a>00157 <span class="keywordflow">return</span> nn;
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 } <span class="comment">// namespace core</span>
-<a name="l00161"></a>00161
-<a name="l00172"></a>00172 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00173"></a>00173 <span class="keywordflow">try</span> {
-<a name="l00174"></a>00174 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ac00836bdc530b3eaf0a9b9f2e208273b" title="Queries the value of a particular bit in an integer.">getbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), bit);
-<a name="l00175"></a>00175 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00176"></a>00176 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00177"></a>00177 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00178"></a>00178 }
-<a name="l00179"></a>00179 }
+<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a04384ebf492038c4ba83af9736412c9b" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
+<a name="l00152"></a>00152 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00153"></a>00153 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
+<a name="l00156"></a>00156 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00157"></a>00157 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
+<a name="l00160"></a>00160 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
+<a name="l00161"></a>00161 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ | *s2++;
+<a name="l00164"></a>00164 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00167"></a>00167 <span class="keywordflow">return</span> r;
+<a name="l00168"></a>00168 }
+<a name="l00169"></a>00169
+<a name="l00177"></a>00177 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a86446e5e38a977b68f041dfa4b82a385" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n2) {
+<a name="l00178"></a>00178 <span class="keyword">const</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *smaller=n1.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>(), *larger=n2.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00179"></a>00179 <span class="keywordflow">if</span> (smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a> &gt; larger-&gt;mLength) std::swap(smaller, larger);
 <a name="l00180"></a>00180
-<a name="l00188"></a>00188 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00189"></a>00189 <span class="keywordflow">try</span> {
-<a name="l00190"></a>00190 core::integer nn(n);
-<a name="l00191"></a>00191 <a class="code" href="namespaceboost_1_1xint.html#a6278915cf51b0d448a9db40031226182" title="Sets a specific bit in an integer to one.">setbit</a>(nn, bit);
-<a name="l00192"></a>00192 n=integer(nn);
-<a name="l00193"></a>00193 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00194"></a>00194 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00195"></a>00195 }
-<a name="l00196"></a>00196 }
-<a name="l00197"></a>00197
-<a name="l00205"></a>00205 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(integer&amp; n, <span class="keywordtype">size_t</span> bit) {
-<a name="l00206"></a>00206 <span class="keywordflow">try</span> {
-<a name="l00207"></a>00207 core::integer nn(n);
-<a name="l00208"></a>00208 <a class="code" href="namespaceboost_1_1xint.html#a96d452df71ac6799a7041647b4b106df" title="Sets a specific bit in an integer to zero.">clearbit</a>(nn, bit);
-<a name="l00209"></a>00209 n=integer(nn);
-<a name="l00210"></a>00210 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213 }
-<a name="l00214"></a>00214
-<a name="l00226"></a>00226 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00227"></a>00227 <span class="keywordflow">try</span> {
-<a name="l00228"></a>00228 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#a783e728f8221cd424d6f7f5d5f67ec40" title="Obtains the index of the lowest bit in an integer with a value of one.">lowestbit</a>(core::integer(n), valueIfZero);
-<a name="l00229"></a>00229 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00230"></a>00230 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00231"></a>00231 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00232"></a>00232 }
-<a name="l00233"></a>00233 }
+<a name="l00181"></a>00181 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> r;
+<a name="l00182"></a>00182 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *rdata=r.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00183"></a>00183 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a05165b7f45dea3e2459739d856d78288">alloc</a>(larger-&gt;mLength);
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s1=smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>, *s1e=s1+smaller-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a3b494184a00a17108f8bb80d8f07a3a4">mLength</a>;
+<a name="l00186"></a>00186 <span class="keyword">const</span> <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *s2=larger-&gt;digits, *s2e=s2+larger-&gt;mLength;
+<a name="l00187"></a>00187 <a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">digit_t</a> *t=rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a0e65a16488bd7a9d0b1c2a42cc258da3">digits</a>;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keywordflow">while</span> (s1&lt;s1e) *t++ = *s1++ ^ *s2++;
+<a name="l00190"></a>00190 <span class="keywordflow">while</span> (s2&lt;s2e) *t++ = *s2++;
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 rdata-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> r;
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00204"></a>00204 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ab5d1310559b3ac9857e3475889b06b1a" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc" title="Left-shift an integer by a specified number of bits.">shift_left</a>(n, byBits);
+<a name="l00206"></a>00206 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, -byBits);
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208
+<a name="l00216"></a>00216 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#a51a385d6a7e71b555b152de0f40cd9fc" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00217"></a>00217 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
+<a name="l00220"></a>00220 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
+<a name="l00221"></a>00221 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#aaa43f067c7f1a7772276cf9a57ab653c">shift_left</a>(byBits);
+<a name="l00222"></a>00222 <span class="keywordflow">return</span> nn;
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224
+<a name="l00232"></a>00232 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1core.html#ac456d45328b682c029af422923298253" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00233"></a>00233 <span class="keywordflow">if</span> (byBits==0) <span class="keywordflow">return</span> n;
 <a name="l00234"></a>00234
-<a name="l00246"></a>00246 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
-<a name="l00247"></a>00247 <span class="keywordflow">try</span> {
-<a name="l00248"></a>00248 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aec002c076eff13d0382c5d2cd6de1d60" title="Obtains the index of the highest bit in an integer with a value of one.">highestbit</a>(core::integer(n), valueIfZero);
-<a name="l00249"></a>00249 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00250"></a>00250 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00251"></a>00251 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00252"></a>00252 }
-<a name="l00253"></a>00253 }
-<a name="l00254"></a>00254
-<a name="l00261"></a>00261 integer <a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00262"></a>00262 <span class="keywordflow">try</span> {
-<a name="l00263"></a>00263 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint.html#ab828c0be1559b60537b959ef75092fb2" title="Combine two integers using a bitwise AND operation.">bitwise_and</a>(core::integer(n1), core::integer(n2)));
-<a name="l00264"></a>00264 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00265"></a>00265 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00266"></a>00266 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">integer::nan</a>();
-<a name="l00267"></a>00267 }
-<a name="l00268"></a>00268 }
-<a name="l00269"></a>00269
-<a name="l00276"></a>00276 integer <a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00277"></a>00277 <span class="keywordflow">try</span> {
-<a name="l00278"></a>00278 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint.html#ab38ce0764a4b6433e11e30efa2175fec" title="Combine two integers using a bitwise OR operation.">bitwise_or</a>(core::integer(n1), core::integer(n2)));
-<a name="l00279"></a>00279 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00280"></a>00280 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00281"></a>00281 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">integer::nan</a>();
-<a name="l00282"></a>00282 }
-<a name="l00283"></a>00283 }
-<a name="l00284"></a>00284
-<a name="l00292"></a>00292 integer <a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
-<a name="l00293"></a>00293 <span class="keywordflow">try</span> {
-<a name="l00294"></a>00294 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint.html#a6afd5af4550b698f6a7065f457fcb0a1" title="Combine two integers using a bitwise XOR operation.">bitwise_xor</a>(core::integer(n1), core::integer(n2)));
-<a name="l00295"></a>00295 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00296"></a>00296 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00297"></a>00297 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">integer::nan</a>();
-<a name="l00298"></a>00298 }
-<a name="l00299"></a>00299 }
-<a name="l00300"></a>00300
-<a name="l00309"></a>00309 integer <a class="code" href="namespaceboost_1_1xint.html#aaed048f3dc3a442152ebffa3f721d014" title="Bit-shift an integer, in either direction.">shift</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">int</span> byBits) {
-<a name="l00310"></a>00310 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(n, byBits);
-<a name="l00311"></a>00311 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(n, -byBits);
-<a name="l00312"></a>00312 }
-<a name="l00313"></a>00313
-<a name="l00321"></a>00321 integer <a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00322"></a>00322 <span class="keywordflow">try</span> {
-<a name="l00323"></a>00323 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint.html#ae22c3492ecf08370a9a972c8d6fb8e96" title="Left-shift an integer by a specified number of bits.">shift_left</a>(core::integer(n), byBits));
-<a name="l00324"></a>00324 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00325"></a>00325 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00326"></a>00326 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">integer::nan</a>();
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329
-<a name="l00337"></a>00337 integer <a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> byBits) {
-<a name="l00338"></a>00338 <span class="keywordflow">try</span> {
-<a name="l00339"></a>00339 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint.html#aca7453fa9e276ebefacc9827b55f69d2" title="Right-shift an integer by a specified number of bits.">shift_right</a>(core::integer(n), byBits));
-<a name="l00340"></a>00340 } <span class="keywordflow">catch</span> (std::exception&amp;) {
-<a name="l00341"></a>00341 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
-<a name="l00342"></a>00342 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">integer::nan</a>();
-<a name="l00343"></a>00343 }
-<a name="l00344"></a>00344 }
-<a name="l00345"></a>00345
-<a name="l00346"></a>00346 } <span class="comment">// namespace xint</span>
-<a name="l00347"></a>00347 } <span class="comment">// namespace boost</span>
+<a name="l00235"></a>00235 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> nn(n);
+<a name="l00236"></a>00236 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>();
+<a name="l00237"></a>00237 nn.<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#ad28012e618ecab56b69ceac7585d1741">shift_right</a>(byBits);
+<a name="l00238"></a>00238 <span class="keywordflow">return</span> nn;
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 } <span class="comment">// namespace core</span>
+<a name="l00242"></a>00242 } <span class="comment">// namespace xint</span>
+<a name="l00243"></a>00243 } <span class="comment">// namespace boost</span>
 </pre></div></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__bit__manipulations_8cpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__bit__manipulations_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_bit_manipulations.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>blockable_bit_manipulations.cpp File Reference</h1>
+<p>Contains the bit-manipulation functions for blockable integers.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Bit-manipulation functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcc775c18f98f26f2b84ac7a2558636f2"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">boost::xint::blockable::getbit</a> (const integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">boost::xint::blockable::setbit</a> (integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a1731eab251e1601451c3a7c6635c2194">boost::xint::blockable::clearbit</a> (integer &amp;n, size_t bit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">boost::xint::blockable::lowestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">boost::xint::blockable::highestbit</a> (const integer &amp;n, size_t valueIfZero)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">boost::xint::blockable::bitwise_and</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">boost::xint::blockable::bitwise_or</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">boost::xint::blockable::bitwise_xor</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">boost::xint::blockable::shift</a> (const integer &amp;n, int byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">boost::xint::blockable::shift_left</a> (const integer &amp;n, size_t byBits)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">boost::xint::blockable::shift_right</a> (const integer &amp;n, size_t byBits)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the bit-manipulation functions for blockable integers. </p>
+
+<p>Definition in file <a class="el" href="blockable__bit__manipulations_8cpp_source.html">blockable_bit_manipulations.cpp</a>.</p>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__bit__manipulations_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_bit_manipulations.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_bit_manipulations.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>boost {
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
+<a name="l00022"></a><a class="code" href="namespaceboost_1_1xint_1_1blockable.html">00022</a> <span class="keyword">namespace </span>blockable {
+<a name="l00023"></a>00023
+<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">getbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afc792f94cf335a3e3dbdf09caae2937d">getbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), bit);
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
+<a name="l00040"></a>00040 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a> nn(n);
+<a name="l00041"></a>00041 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(nn, bit);
+<a name="l00042"></a>00042 n=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(nn);
+<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1731eab251e1601451c3a7c6635c2194">clearbit</a>(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> bit) {
+<a name="l00050"></a>00050 <span class="keywordflow">try</span> {
+<a name="l00051"></a>00051 <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a> nn(n);
+<a name="l00052"></a>00052 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1731eab251e1601451c3a7c6635c2194">clearbit</a>(nn, bit);
+<a name="l00053"></a>00053 n=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(nn);
+<a name="l00054"></a>00054 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00055"></a>00055 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00063"></a>00063 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">lowestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00064"></a>00064 <span class="keywordflow">try</span> {
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9e7a17fbb2cd20db9d1a3431ea6ecdf5">lowestbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), valueIfZero);
+<a name="l00066"></a>00066 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00068"></a>00068 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00076"></a>00076 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">highestbit</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> valueIfZero) {
+<a name="l00077"></a>00077 <span class="keywordflow">try</span> {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3bf3a07f92c73e4fbd30452e057522f5">highestbit</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), valueIfZero);
+<a name="l00079"></a>00079 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00080"></a>00080 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00081"></a>00081 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084
+<a name="l00086"></a>00086 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
+<a name="l00087"></a>00087 <span class="keywordflow">try</span> {
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
+<a name="l00089"></a>00089 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00091"></a>00091 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00096"></a>00096 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
+<a name="l00097"></a>00097 <span class="keywordflow">try</span> {
+<a name="l00098"></a>00098 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
+<a name="l00099"></a>00099 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00100"></a>00100 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00101"></a>00101 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104
+<a name="l00106"></a>00106 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n1, <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n2) {
+<a name="l00107"></a>00107 <span class="keywordflow">try</span> {
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n1), <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n2)));
+<a name="l00109"></a>00109 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00110"></a>00110 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00111"></a>00111 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00116"></a>00116 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">int</span> byBits) {
+<a name="l00117"></a>00117 <span class="keywordflow">if</span> (byBits &gt; 0) <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(n, byBits);
+<a name="l00118"></a>00118 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(n, -byBits);
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00122"></a>00122 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00123"></a>00123 <span class="keywordflow">try</span> {
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), byBits));
+<a name="l00125"></a>00125 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00126"></a>00126 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00127"></a>00127 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130
+<a name="l00132"></a>00132 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n, <span class="keywordtype">size_t</span> byBits) {
+<a name="l00133"></a>00133 <span class="keywordflow">try</span> {
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(n), byBits));
+<a name="l00135"></a>00135 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00137"></a>00137 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 } <span class="comment">// namespace blockable</span>
+<a name="l00142"></a>00142 } <span class="comment">// namespace xint</span>
+<a name="l00143"></a>00143 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__compare_8cpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__compare_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_compare.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>blockable_compare.cpp File Reference</h1>
+<p>Contains the the compare function and comparison operators for blockable integers.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Functions</h2></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>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">boost::xint::blockable::compare</a> (const integer &amp;b1, const integer &amp;b2, bool ignoresign)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">boost::xint::blockable::operator!</a> (const integer &amp;num1)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a30d62778d26a857f5b3ff6a56ebe6e6a">boost::xint::blockable::operator==</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a51e46fd4112a2fcff16e11d977f92e63">boost::xint::blockable::operator!=</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a03cbe2419b28b7d7bc86afe71158108e">boost::xint::blockable::operator&lt;</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ab3826f291c742f4b980d34cec652173c">boost::xint::blockable::operator&gt;</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a2f826b80a2baf62af87d3335a260ee0d">boost::xint::blockable::operator&lt;=</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#afab66769cd37ad94e89559e55746a55b">boost::xint::blockable::operator&gt;=</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the the compare function and comparison operators for blockable integers. </p>
+
+<p>Definition in file <a class="el" href="blockable__compare_8cpp_source.html">blockable_compare.cpp</a>.</p>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__compare_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__compare_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_compare.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_compare.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00029"></a>00029 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">compare</a>(<span class="keyword">const</span> integer &amp;b1, <span class="keyword">const</span> integer &amp;b2, <span class="keywordtype">bool</span> ignoresign) {
+<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">compare</a>(core::integer(b1), core::integer(b2));
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>{
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00040"></a>00040 <span class="keywordtype">bool</span> cmp(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2, <span class="keyword">const</span> T&amp; t) {
+<a name="l00041"></a>00041 <span class="keywordflow">try</span> {
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> t(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad4d320afe012be4d62cca1ee985daa95">compare</a>(core::integer(num1), core::integer(num2)), 0);
+<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00045"></a>00045 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 } <span class="comment">// namespace</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">operator!</a>(<span class="keyword">const</span> integer &amp;num1) {
+<a name="l00051"></a>00051 <span class="keywordflow">try</span> {
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad590f6564f7b4ba124835dce5a49b6e8">operator!</a>(core::integer(num1));
+<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00055"></a>00055 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30d62778d26a857f5b3ff6a56ebe6e6a">operator==</a>(<span class="keyword">const</span> integer &amp;num1, <span class="keyword">const</span> integer &amp;num2) {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> cmp(num1, num2, std::equal_to&lt;int&gt;()); }
+<a name="l00061"></a>00061 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a51e46fd4112a2fcff16e11d977f92e63">operator!=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> cmp(num1, num2, std::not_equal_to&lt;int&gt;()); }
+<a name="l00063"></a>00063 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a03cbe2419b28b7d7bc86afe71158108e">operator&lt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> cmp(num1, num2, std::less&lt;int&gt;()); }
+<a name="l00065"></a>00065 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab3826f291c742f4b980d34cec652173c">operator&gt;</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> cmp(num1, num2, std::greater&lt;int&gt;()); }
+<a name="l00067"></a>00067 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2f826b80a2baf62af87d3335a260ee0d">operator&lt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> cmp(num1, num2, std::less_equal&lt;int&gt;()); }
+<a name="l00069"></a>00069 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afab66769cd37ad94e89559e55746a55b">operator&gt;=</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> cmp(num1, num2, std::greater_equal&lt;int&gt;()); }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace blockable</span>
+<a name="l00073"></a>00073 } <span class="comment">// namespace xint</span>
+<a name="l00074"></a>00074 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__convert_8cpp.html (from r61199, /sandbox/xint/doc/roots_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/blockable__convert_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: roots.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_convert.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,40 +26,41 @@
   </div>
 </div>
 <div class="contents">
-<h1>roots.cpp File Reference</h1>
-<p>Contains the definitions for functions related to roots of a number.
+<h1>blockable_convert.cpp File Reference</h1>
+<p>Contains the conversion functions for blockable integers.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9ebf35bf53baa1eddf9a84dc719a5d15">boost::xint::core::sqrt</a> (const integer &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>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. <br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Conversion functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp9c2e8a06d85d2c9b83b5a0d27e85d535"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a242028d310c35165b714a20e068a4e61">boost::xint::blockable::to_string</a> (const integer &amp;n, size_t base, bool uppercase)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">boost::xint::blockable::from_string</a> (const std::string &amp;str, size_t base)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a2d59a617f6374118f622d37df7e8593b">boost::xint::blockable::from_binary</a> (const std::string &amp;str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">boost::xint::blockable::to_binary</a> (const integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for functions related to roots of a number. </p>
+<p>Contains the conversion functions for blockable integers. </p>
+<p>Note that the xint::blockable::to&lt;T&gt; function is not here, because it's a template function and must be defined in a header file. </p>
 
-<p>Definition in file <a class="el" href="roots_8cpp_source.html">roots.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__convert_8cpp_source.html">blockable_convert.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__convert_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__convert_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_convert.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_convert.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>blockable {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">using namespace </span>detail;
+<a name="l00028"></a>00028
+<a name="l00034"></a>00034 std::string <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a242028d310c35165b714a20e068a4e61">to_string</a>(<span class="keyword">const</span> integer&amp; n, <span class="keywordtype">size_t</span> base, <span class="keywordtype">bool</span> uppercase) {
+<a name="l00035"></a>00035 <span class="keywordflow">try</span> {
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a242028d310c35165b714a20e068a4e61">to_string</a>(core::integer(n), base, uppercase);
+<a name="l00037"></a>00037 } <span class="keywordflow">catch</span> (exception&amp;) {
+<a name="l00038"></a>00038 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00039"></a>00039 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042
+<a name="l00044"></a>00044 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">from_string</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00045"></a>00045 <span class="keywordflow">try</span> {
+<a name="l00046"></a>00046 <span class="keywordflow">if</span> (str==<a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>) <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#adaa2e5c8f2ff92faee861a68bc7e4cca" title="Converts a string into an integer.">core::from_string</a>(str, base));
+<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00050"></a>00050 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00055"></a>00055 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2d59a617f6374118f622d37df7e8593b">from_binary</a>(<span class="keyword">const</span> std::string&amp; str) {
+<a name="l00056"></a>00056 <span class="keywordflow">try</span> {
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#a626c8b1f3bd3f6b03a18412c8419bad8" title="Converts a binary representation of a number into an integer.">core::from_binary</a>(str));
+<a name="l00058"></a>00058 } <span class="keywordflow">catch</span> (exception&amp;) {
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00060"></a>00060 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00065"></a>00065 std::string <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">to_binary</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00066"></a>00066 <span class="keywordflow">try</span> {
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#afef5469852d10aefa70e1c69b4433cc9">to_binary</a>(core::integer(n));
+<a name="l00068"></a>00068 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00070"></a>00070 <span class="keywordflow">else</span> <span class="keywordflow">return</span> std::string();
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 } <span class="comment">// namespace blockable</span>
+<a name="l00075"></a>00075 } <span class="comment">// namespace xint</span>
+<a name="l00076"></a>00076 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__gcd_8cpp.html (from r61199, /sandbox/xint/doc/roots_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/blockable__gcd_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: roots.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_gcd.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,40 +26,43 @@
   </div>
 </div>
 <div class="contents">
-<h1>roots.cpp File Reference</h1>
-<p>Contains the definitions for functions related to roots of a number.
+<h1>blockable_gcd.cpp File Reference</h1>
+<p>Greatest Common Denominator and Least Common Multple for blockable integers.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9ebf35bf53baa1eddf9a84dc719a5d15">boost::xint::core::sqrt</a> (const integer &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>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. <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>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">boost::xint::blockable::gcd</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">boost::xint::blockable::lcm</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">boost::xint::blockable::invmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for functions related to roots of a number. </p>
+<p>Greatest Common Denominator and Least Common Multple for blockable integers. </p>
+<p>Also holds the definition for invmod, since it uses the GCD algorithm. </p>
 
-<p>Definition in file <a class="el" href="roots_8cpp_source.html">roots.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__gcd_8cpp_source.html">blockable_gcd.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__gcd_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__gcd_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_gcd.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_gcd.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>boost {
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>xint {
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>blockable {
+<a name="l00026"></a>00026
+<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">gcd</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a86b6971f33fec78e0186a0e8ce337368">gcd</a>(core::integer(num1), core::integer(num2)));
+<a name="l00031"></a>00031 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00032"></a>00032 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00033"></a>00033 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036
+<a name="l00038"></a>00038 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">lcm</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) {
+<a name="l00039"></a>00039 <span class="keywordflow">try</span> {
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a312ad948e2c326b228889bdb04131b49">lcm</a>(core::integer(num1), core::integer(num2)));
+<a name="l00041"></a>00041 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00043"></a>00043 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046
+<a name="l00052"></a>00052 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">invmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00053"></a>00053 <span class="keywordflow">try</span> {
+<a name="l00054"></a>00054 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8f5f71a0e2e0c713295ede03d604d636">invmod</a>(core::integer(n), core::integer(m)));
+<a name="l00055"></a>00055 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00056"></a>00056 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00057"></a>00057 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 } <span class="comment">// namespace blockable</span>
+<a name="l00062"></a>00062 } <span class="comment">// namespace xint</span>
+<a name="l00063"></a>00063 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__integer_8cpp.html (from r61199, /sandbox/xint/doc/data__t_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/data__t_8cpp.html (original)
+++ sandbox/xint/doc/blockable__integer_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: data_t.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_integer.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,35 +26,32 @@
   </div>
 </div>
 <div class="contents">
-<h1>data_t.cpp File Reference</h1>
-<p>Contains the definitions for xint::detail::data_t member functions.
+<h1>blockable_integer.cpp File Reference</h1>
+<p>Contains the definitions for the xint::blockable::integer member functions.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
-<code>#include &lt;cassert&gt;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for xint::detail::data_t member functions. </p>
+<p>Contains the definitions for the xint::blockable::integer member functions. </p>
 
-<p>Definition in file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__integer_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__integer_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,250 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_integer.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_integer.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../boost/xint/xint_data_t.hpp&quot;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>boost {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>xint {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">const</span> std::string <a class="code" href="namespaceboost_1_1xint_1_1detail.html#ab0df946a2c10228501ef82bf823d0978" title="Holds the text representation of the Not-a-Number value.">detail::nan_text</a>(<span class="stringliteral">&quot;#NaN#&quot;</span>);
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>blockable {
+<a name="l00028"></a>00028
+<a name="l00030"></a>00030 <span class="comment">// The blockable integer class</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>{
+<a name="l00033"></a>00033 std::auto_ptr&lt;integer&gt; cZero, cOne, cNaN;
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035
+<a name="l00037"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">00037</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>() {
+<a name="l00038"></a>00038 _init();
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00042"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">00042</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (!b.<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) _init(b);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045
+<a name="l00056"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0ff286ad0a69d6f885cf51905331b065">00056</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>&amp; b) {
+<a name="l00057"></a>00057 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(b);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059
+<a name="l00061"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2c02cafe2e7f1262a8b45356b32a21ab">00061</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer::integer</a>(<span class="keyword">const</span> std::string&amp; str, <span class="keywordtype">size_t</span> base) {
+<a name="l00062"></a>00062 <span class="keywordflow">try</span> {
+<a name="l00063"></a>00063 _init(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a90aa8c790fe7241999d14b4fc79e4a00">from_string</a>(str, base));
+<a name="l00064"></a>00064 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00073"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">00073</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">integer::odd</a>()<span class="keyword"> const </span>{
+<a name="l00074"></a>00074 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00075"></a>00075 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
+<a name="l00076"></a>00076 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0) &amp; 0x01)==1);
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00085"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">00085</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">integer::even</a>()<span class="keyword"> const </span>{
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00087"></a>00087 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
+<a name="l00088"></a>00088 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 <span class="keywordflow">return</span> ((<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0) &amp; 0x01)==0);
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00097"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">00097</a> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">integer::sign</a>()<span class="keyword"> const </span>{
+<a name="l00098"></a>00098 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">is_nan</a>()) {
+<a name="l00099"></a>00099 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span> <a class="code" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">not_a_number</a>();
+<a name="l00100"></a>00100 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>()==1 &amp;&amp; <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(0)==0) <span class="keywordflow">return</span> 0;
+<a name="l00103"></a>00103 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;mIsNegative ? -1 : 1);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00110"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">00110</a> <span class="keywordtype">size_t</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">integer::hex_digits</a>()<span class="keyword"> const </span>{
+<a name="l00111"></a>00111 <span class="keywordflow">try</span> {
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">core::integer</a>(*this).hex_digits();
+<a name="l00113"></a>00113 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00114"></a>00114 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00115"></a>00115 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00125"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">00125</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123" title="Tests *this for Not-a-Number.">integer::is_nan</a>()<span class="keyword"> const </span>{
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()==0);
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">00129</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">integer::operator+=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; addend) {
+<a name="l00130"></a>00130 <span class="keywordflow">try</span> {
+<a name="l00131"></a>00131 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator+=(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(addend)));
+<a name="l00132"></a>00132 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00133"></a>00133 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00134"></a>00134 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">00139</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">integer::operator-=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; subtrahend) {
+<a name="l00140"></a>00140 <span class="keywordflow">try</span> {
+<a name="l00141"></a>00141 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator-=(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(subtrahend)));
+<a name="l00142"></a>00142 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00143"></a>00143 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00144"></a>00144 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148
+<a name="l00149"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">00149</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">integer::operator=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> &amp;c) {
+<a name="l00150"></a>00150 <span class="keywordflow">try</span> {
+<a name="l00151"></a>00151 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(c);
+<a name="l00152"></a>00152 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00153"></a>00153 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00154"></a>00154 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(0);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00157"></a>00157 }
+<a name="l00158"></a>00158
+<a name="l00159"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">00159</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">integer::operator*=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00160"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">00160</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">integer::operator/=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00161"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">00161</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">integer::operator%=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; b) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(*<span class="keyword">this</span>, b); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00162"></a>00162
+<a name="l00163"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">00163</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">integer::operator++</a>() { *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00164"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">00164</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">integer::operator--</a>() { *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00165"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a50d2872735d7b1dfcba66d4940cdc658">00165</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">integer::operator++</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> += <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00166"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0e35cc2d6c37f4e14c4d21d998179121">00166</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">integer::operator--</a>(<span class="keywordtype">int</span>) { <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> s=*<span class="keyword">this</span>; *<span class="keyword">this</span> -= <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>(); <span class="keywordflow">return</span> s; }
+<a name="l00167"></a>00167
+<a name="l00168"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">00168</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">integer::operator&lt;&lt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3a09db2ff23e3bf43bb01ffe1137cee8">shift_left</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00169"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">00169</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">integer::operator&gt;&gt;</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad1ac8c13f6b642be791f59a95f58639b">shift_right</a>(*<span class="keyword">this</span>, shift); }
+<a name="l00170"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">00170</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">integer::operator&amp;=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00171"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">00171</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">integer::operator|=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00172"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">00172</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">integer::operator^=</a>(<span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; n) { *<span class="keyword">this</span>=<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(*<span class="keyword">this</span>, n); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00173"></a>00173
+<a name="l00174"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">00174</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">integer::operator&lt;&lt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>) {
+<a name="l00175"></a>00175 <span class="keywordflow">try</span> {
+<a name="l00176"></a>00176 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator&lt;&lt;=(shift));
+<a name="l00177"></a>00177 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00179"></a>00179 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183
+<a name="l00184"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">00184</a> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">integer::operator&gt;&gt;=</a>(<span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac096f3f80627f005fd7b4bc69af9f7dd">shift</a>) {
+<a name="l00185"></a>00185 <span class="keywordflow">try</span> {
+<a name="l00186"></a>00186 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>(*this).operator&gt;&gt;=(shift));
+<a name="l00187"></a>00187 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00188"></a>00188 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00189"></a>00189 *<span class="keyword">this</span>=<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00190"></a>00190 }
+<a name="l00191"></a>00191 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00194"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">00194</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">integer::zero</a>() {
+<a name="l00195"></a>00195 <span class="keywordflow">if</span> (cZero.get()==0) cZero.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">core::integer::zero</a>()));
+<a name="l00196"></a>00196 <span class="keywordflow">return</span> *cZero;
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198
+<a name="l00199"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">00199</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">integer::one</a>() {
+<a name="l00200"></a>00200 <span class="keywordflow">if</span> (cOne.get()==0) cOne.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1integer.html#afcf74b546cda2690025c75325365a0fe">core::integer::one</a>()));
+<a name="l00201"></a>00201 <span class="keywordflow">return</span> *cOne;
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203
+<a name="l00204"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">00204</a> <span class="keyword">const</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a>&amp; <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>() {
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (cNaN.get()==0) {
+<a name="l00206"></a>00206 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">integer</a> *n=<span class="keyword">new</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>();
+<a name="l00207"></a>00207 n-&gt;<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(0);
+<a name="l00208"></a>00208 cNaN.reset(n);
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210 <span class="keywordflow">return</span> *cNaN;
+<a name="l00211"></a>00211 }
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="keywordtype">void</span> integer::_init(<a class="code" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> init) {
+<a name="l00214"></a>00214 <span class="keywordflow">try</span> {
+<a name="l00215"></a>00215 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a>(init));
+<a name="l00216"></a>00216 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00217"></a>00217 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 <span class="keywordtype">void</span> integer::_init(<span class="keyword">const</span> integer &amp;c) {
+<a name="l00222"></a>00222 <span class="keywordflow">try</span> {
+<a name="l00223"></a>00223 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(c);
+<a name="l00224"></a>00224 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00225"></a>00225 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="keywordtype">void</span> integer::_init(boost::uintmax_t n) {
+<a name="l00230"></a>00230 <span class="keywordflow">try</span> {
+<a name="l00231"></a>00231 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> detail::data_t(n));
+<a name="l00232"></a>00232 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00233"></a>00233 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00234"></a>00234 }
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236
+<a name="l00237"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">00237</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">integer::_make_unique</a>() {
+<a name="l00238"></a>00238 <span class="keywordflow">if</span> (!<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>()) {
+<a name="l00239"></a>00239 <span class="keywordflow">try</span> {
+<a name="l00240"></a>00240 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(<span class="keyword">new</span> <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a>(<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()));
+<a name="l00241"></a>00241 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00242"></a>00242 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00243"></a>00243 <a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(0); <span class="comment">// Turns it into a Not-a-Number,</span>
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246 }
+<a name="l00247"></a>00247
+<a name="l00248"></a><a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">00248</a> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">integer::_set_negative</a>(<span class="keywordtype">bool</span> negative) {
+<a name="l00249"></a>00249 <span class="keywordflow">if</span> (<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>()-&gt;mIsNegative != negative) {
+<a name="l00250"></a>00250 <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a>();
+<a name="l00251"></a>00251 <a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html" title="Holds the internal details of an xint::integer.">detail::data_t</a> *p=<a class="code" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>();
+<a name="l00252"></a>00252 p-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#abd6528e0c4f7674b4421cc7f1e2aba09">mIsNegative</a>=negative;
+<a name="l00253"></a>00253 p-&gt;<a class="code" href="structboost_1_1xint_1_1detail_1_1data__t.html#a284e2618d908796987c624311a42625d">skipLeadingZeros</a>();
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 } <span class="comment">// namespace blockable</span>
+<a name="l00258"></a>00258 } <span class="comment">// namespace xint</span>
+<a name="l00259"></a>00259 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__misc_8cpp.html (from r61199, /sandbox/xint/doc/data__t_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/data__t_8cpp.html (original)
+++ sandbox/xint/doc/blockable__misc_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: data_t.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_misc.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,35 +26,37 @@
   </div>
 </div>
 <div class="contents">
-<h1>data_t.cpp File Reference</h1>
-<p>Contains the definitions for xint::detail::data_t member functions.
+<h1>blockable_misc.cpp File Reference</h1>
+<p>Functions for blockable integers that don't fall into any other category.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
-<code>#include &lt;cassert&gt;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The items within this namespace are meant for internal use only. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Functions</h2></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>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">boost::xint::blockable::log2</a> (const integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for xint::detail::data_t member functions. </p>
+<p>Functions for blockable integers that don't fall into any other category. </p>
 
-<p>Definition in file <a class="el" href="data__t_8cpp_source.html">data_t.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__misc_8cpp_source.html">blockable_misc.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__misc_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__misc_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_misc.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_misc.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00029"></a>00029 <span class="keywordtype">size_t</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">log2</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac761490fc23ecfb5017277529f2bf3a7">log2</a>(core::integer(n));
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace blockable</span>
+<a name="l00039"></a>00039 } <span class="comment">// namespace xint</span>
+<a name="l00040"></a>00040 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__modular_8cpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__modular_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_modular.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>blockable_modular.cpp File Reference</h1>
+<p>Contains the definitions for the basic modular math functions for blockable integers.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Modular math functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbf63e6a6a1029bb25b7aa51052b38655"></a>A common reason to use a large-integer library is to implement public-key encryption, and the algorithms for such encryption often use modular math. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">boost::xint::blockable::mod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a455f9442a9d20ee8e5be198c8279d99c">boost::xint::blockable::mulmod</a> (const integer &amp;n, const integer &amp;by, const integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aba0c3ada68c395cf941b4c0fbc574343">boost::xint::blockable::sqrmod</a> (const integer &amp;n, const integer &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">boost::xint::blockable::powmod</a> (const integer &amp;n, const integer &amp;e, const integer &amp;m, bool noMontgomery)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the definitions for the basic modular math functions for blockable integers. </p>
+<p>The xint::invmod function, which logically would be here, is actually in <a class="el" href="gcd_8cpp.html" title="Greatest Common Denominator and Least Common Multple.">gcd.cpp</a> to share the gcd_core function. </p>
+
+<p>Definition in file <a class="el" href="blockable__modular_8cpp_source.html">blockable_modular.cpp</a>.</p>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__modular_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__modular_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_modular.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_modular.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>boost {
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>xint {
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>blockable {
+<a name="l00027"></a>00027
+<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(core::integer(n), core::integer(m)));
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00034"></a>00034 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00039"></a>00039 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a455f9442a9d20ee8e5be198c8279d99c">mulmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00040"></a>00040 <span class="keywordflow">try</span> {
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(core::integer(n) * core::integer(by),
+<a name="l00042"></a>00042 core::integer(m)));
+<a name="l00043"></a>00043 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048
+<a name="l00050"></a>00050 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aba0c3ada68c395cf941b4c0fbc574343">sqrmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; m) {
+<a name="l00051"></a>00051 <span class="keywordflow">try</span> {
+<a name="l00052"></a>00052 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(core::integer(n)), core::integer(m)));
+<a name="l00053"></a>00053 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00060"></a>00060 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">powmod</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e, <span class="keyword">const</span> integer&amp; m, <span class="keywordtype">bool</span>
+<a name="l00061"></a>00061 noMontgomery)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keywordflow">try</span> {
+<a name="l00064"></a>00064 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a924d7a2c8a1c8817d75d0985ff30ebf0">powmod</a>(core::integer(n), core::integer(e),
+<a name="l00065"></a>00065 core::integer(m), noMontgomery));
+<a name="l00066"></a>00066 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace blockable</span>
+<a name="l00073"></a>00073 } <span class="comment">// namespace xint</span>
+<a name="l00074"></a>00074 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__operators_8cpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__operators_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_operators.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>blockable_operators.cpp File Reference</h1>
+<p>Contains the definitions for the basic math operators for blockable integers.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpb3c5827f54218753bb2c3338236446c2"></a> These act exactly the same as for the built-in integer types. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const integer &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">boost::xint::blockable::operator+</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">boost::xint::blockable::operator-</a> (const integer &amp;a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a43c166834c838c500713c571ff49ae7c">boost::xint::blockable::operator+</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#adde448bbc07e4a347dc78c74fcc8ddbf">boost::xint::blockable::operator-</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aa5b674570d38ee92b7ed20aec2eedbeb">boost::xint::blockable::operator*</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a45485a6d3b99c83332836a100e3159e0">boost::xint::blockable::operator/</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a13908294b14450d3a12181f8f245baea">boost::xint::blockable::operator%</a> (const integer &amp;num1, const integer &amp;num2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aab0835691ea26d99726423b8456c8dce">boost::xint::blockable::operator&amp;</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ac5d01d4cfdb9adfc4d466811477b4927">boost::xint::blockable::operator|</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aabec559201c8efd77965ee8b6f07a4ca">boost::xint::blockable::operator^</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the definitions for the basic math operators for blockable integers. </p>
+
+<p>Definition in file <a class="el" href="blockable__operators_8cpp_source.html">blockable_operators.cpp</a>.</p>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__operators_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__operators_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_operators.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_operators.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">const</span> integer&amp; <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">operator+</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> a; }
+<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">operator-</a>(<span class="keyword">const</span> integer&amp; a) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(a); }
+<a name="l00027"></a>00027 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab13e7e95fd015038193d3babd65adb83">operator+</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(num1, num2); }
+<a name="l00028"></a>00028 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aad0456bbbfcf1385355baef6ed7ee368">operator-</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(num1, num2); }
+<a name="l00029"></a>00029 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa5b674570d38ee92b7ed20aec2eedbeb">operator*</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(num1, num2); }
+<a name="l00030"></a>00030 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a45485a6d3b99c83332836a100e3159e0">operator/</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(num1, num2); }
+<a name="l00031"></a>00031 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a13908294b14450d3a12181f8f245baea">operator%</a>(<span class="keyword">const</span> integer&amp; num1, <span class="keyword">const</span> integer&amp; num2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2724cf5153be79d22b53230ae994f653">mod</a>(num1, num2); }
+<a name="l00032"></a>00032 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aab0835691ea26d99726423b8456c8dce">operator&amp;</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a42ded343a54837d6f0ac84399227ac8e">bitwise_and</a>(n1, n2); }
+<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ac5d01d4cfdb9adfc4d466811477b4927">operator|</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30e1dfd31902219bf24cc843c543469f">bitwise_or</a>(n1, n2); }
+<a name="l00034"></a>00034 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aabec559201c8efd77965ee8b6f07a4ca">operator^</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) { <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad3c95f6466b3c77d940838331f9d0c3c">bitwise_xor</a>(n1, n2); }
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 } <span class="comment">// namespace blockable</span>
+<a name="l00037"></a>00037 } <span class="comment">// namespace xint</span>
+<a name="l00038"></a>00038 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__powers_8cpp.html (from r61199, /sandbox/xint/doc/roots_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/roots_8cpp.html (original)
+++ sandbox/xint/doc/blockable__powers_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: roots.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_powers.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,40 +26,40 @@
   </div>
 </div>
 <div class="contents">
-<h1>roots.cpp File Reference</h1>
-<p>Contains the definitions for functions related to roots of a number.
+<h1>blockable_powers.cpp File Reference</h1>
+<p>Contains the definitions for blockable integer functions related to powers of a number.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
 <tr><td colspan="2"><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html#a9ebf35bf53baa1eddf9a84dc719a5d15">boost::xint::core::sqrt</a> (const integer &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>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html#afdf79cc57e434b9c7f4cb3b6bd68dbd6">boost::xint::sqrt</a> (const integer &amp;n)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the square root of <code>an</code> <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. <br/></td></tr>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a2f16c8a722f5a89748b154dc530ecff5">boost::xint::blockable::pow2</a> (size_t e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">boost::xint::blockable::sqr</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">boost::xint::blockable::pow</a> (const integer &amp;n, const integer &amp;e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a48bbd62060daaf179abb8664de24c0c4">boost::xint::blockable::factorial</a> (size_t n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for functions related to roots of a number. </p>
+<p>Contains the definitions for blockable integer functions related to powers of a number. </p>
 
-<p>Definition in file <a class="el" href="roots_8cpp_source.html">roots.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__powers_8cpp_source.html">blockable_powers.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__powers_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__powers_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_powers.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_powers.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a2f16c8a722f5a89748b154dc530ecff5">pow2</a>(<span class="keywordtype">size_t</span> e) {
+<a name="l00027"></a>00027 integer r;
+<a name="l00028"></a>00028 <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ad121a71d8a161b9eaea24fcecf378393">setbit</a>(r, e);
+<a name="l00029"></a>00029 <span class="keywordflow">return</span> r;
+<a name="l00030"></a>00030 }
+<a name="l00031"></a>00031
+<a name="l00033"></a>00033 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00034"></a>00034 <span class="keywordflow">try</span> {
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a30c49fd181989bba7260f99d695b66e5">sqr</a>(core::integer(n)));
+<a name="l00036"></a>00036 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00037"></a>00037 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00038"></a>00038 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041
+<a name="l00043"></a>00043 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">pow</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; e) {
+<a name="l00044"></a>00044 <span class="keywordflow">try</span> {
+<a name="l00045"></a>00045 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ab554163bc27a115dbe5310dfc6f515e3">pow</a>(core::integer(n), core::integer(e)));
+<a name="l00046"></a>00046 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00047"></a>00047 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00048"></a>00048 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00053"></a>00053 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a48bbd62060daaf179abb8664de24c0c4">factorial</a>(<span class="keywordtype">size_t</span> n) {
+<a name="l00054"></a>00054 <span class="keywordflow">try</span> {
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#ab82432c3d99638bb2f56304cf44a405a" title="Calculate the value of n! ">core::factorial</a>(n));
+<a name="l00056"></a>00056 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00057"></a>00057 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00058"></a>00058 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace blockable</span>
+<a name="l00063"></a>00063 } <span class="comment">// namespace xint</span>
+<a name="l00064"></a>00064 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__primes_8cpp.html (from r61199, /sandbox/xint/doc/integer_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/blockable__primes_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: integer.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_primes.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,34 +26,38 @@
   </div>
 </div>
 <div class="contents">
-<h1>integer.cpp File Reference</h1>
-<p>Contains the definitions for the xint::integer member functions.
+<h1>blockable_primes.cpp File Reference</h1>
+<p>Contains the definitions for functions related to prime numbers for blockable integers.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Prime number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp540e8e12721acbe497d2b9b53ecc76ec"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">boost::xint::blockable::is_prime</a> (const integer &amp;n, callback_t callback)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a3db40c31f1d6659d21986bfc96b7a13c">boost::xint::blockable::random_prime</a> (size_t size_in_bits, callback_t callback)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the xint::integer member functions. </p>
+<p>Contains the definitions for functions related to prime numbers for blockable integers. </p>
 
-<p>Definition in file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__primes_8cpp_source.html">blockable_primes.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__primes_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__primes_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_primes.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_primes.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00029"></a>00029 <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">is_prime</a>(<span class="keyword">const</span> integer&amp; n, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00030"></a>00030 <span class="keywordflow">try</span> {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a0a6764881137a513c747b893aef16e9d">is_prime</a>(core::integer(n), callback);
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00034"></a>00034 <span class="keywordflow">else</span> <span class="keywordflow">return</span> -1;
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00039"></a>00039 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a3db40c31f1d6659d21986bfc96b7a13c">random_prime</a>(<span class="keywordtype">size_t</span> size_in_bits, <a class="code" href="namespaceboost_1_1xint.html#a48deb76c9c428a4b3a50177b1b0cb547">callback_t</a> callback) {
+<a name="l00040"></a>00040 <span class="keywordflow">try</span> {
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#a5f117503768fded4de58ded6d0c5513e" title="Generate a randomly-generated prime number of a particular bit-size.">core::random_prime</a>(size_in_bits, callback));
+<a name="l00042"></a>00042 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00043"></a>00043 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00044"></a>00044 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 } <span class="comment">// namespace blockable</span>
+<a name="l00049"></a>00049 } <span class="comment">// namespace xint</span>
+<a name="l00050"></a>00050 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__primitives_8cpp.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__primitives_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_primitives.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>blockable_primitives.cpp File Reference</h1>
+<p>Contains the definitions for math primitives for blockable integers.
+More...</p>
+
+<p>Go to the source code of this file.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Mathematical primitives</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp196dd2a5f50860e057df961a96d84ea3"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">boost::xint::blockable::abs</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">boost::xint::blockable::negate</a> (const integer &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">boost::xint::blockable::add</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">boost::xint::blockable::subtract</a> (const integer &amp;n1, const integer &amp;n2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">boost::xint::blockable::multiply</a> (const integer &amp;n, const integer &amp;by)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">boost::xint::blockable::divide</a> (const integer &amp;dividend, const integer &amp;divisor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; integer, integer &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">boost::xint::blockable::divide_r</a> (const integer &amp;d1, const integer &amp;d2)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the definitions for math primitives for blockable integers. </p>
+
+<p>Definition in file <a class="el" href="blockable__primitives_8cpp_source.html">blockable_primitives.cpp</a>.</p>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Added: sandbox/xint/doc/blockable__primitives_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__primitives_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_primitives.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_primitives.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>boost {
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>xint {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>blockable {
+<a name="l00023"></a>00023
+<a name="l00025"></a>00025 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">abs</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00026"></a>00026 <span class="keywordflow">try</span> {
+<a name="l00027"></a>00027 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a60245c96acca4efe2301939acb7ca798">abs</a>(core::integer(n)));
+<a name="l00028"></a>00028 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00029"></a>00029 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033
+<a name="l00035"></a>00035 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00036"></a>00036 <span class="keywordflow">try</span> {
+<a name="l00037"></a>00037 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a99e18d64a42f9a24069cbbe91e1dd035">negate</a>(core::integer(n)));
+<a name="l00038"></a>00038 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00039"></a>00039 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00045"></a>00045 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00046"></a>00046 <span class="keywordflow">try</span> {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#ada3b973466beb1c2b2e65718606c1cc8">add</a>(core::integer(n1), core::integer(n2)));
+<a name="l00048"></a>00048 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00055"></a>00055 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(<span class="keyword">const</span> integer&amp; n1, <span class="keyword">const</span> integer&amp; n2) {
+<a name="l00056"></a>00056 <span class="keywordflow">try</span> {
+<a name="l00057"></a>00057 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a56cc023cafb9e92223c74dc780175bc2">subtract</a>(core::integer(n1), core::integer(n2)));
+<a name="l00058"></a>00058 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00065"></a>00065 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(<span class="keyword">const</span> integer&amp; n, <span class="keyword">const</span> integer&amp; by) {
+<a name="l00066"></a>00066 <span class="keywordflow">try</span> {
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a9f79cef4aca96d97b00f7cde90d7eabd">multiply</a>(core::integer(n), core::integer(by)));
+<a name="l00068"></a>00068 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00069"></a>00069 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00075"></a>00075 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a1a69ea437aacb48b0ce224a97eaf87f3">divide</a>(<span class="keyword">const</span> integer&amp; dividend, <span class="keyword">const</span> integer&amp; divisor) {
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(dividend, divisor).first;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00084"></a>00084 std::pair&lt;integer, integer&gt; <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(<span class="keyword">const</span> integer&amp; d1, <span class="keyword">const</span> integer&amp; d2) {
+<a name="l00085"></a>00085 <span class="keywordflow">try</span> {
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a022fd3c44ddeb39a78ad3202c51ade8a">divide_r</a>(core::integer(d1), core::integer(d2));
+<a name="l00087"></a>00087 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00088"></a>00088 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> std::make_pair(<a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>(), <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>());
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 } <span class="comment">// namespace blockable</span>
+<a name="l00094"></a>00094 } <span class="comment">// namespace xint</span>
+<a name="l00095"></a>00095 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__random_8cpp.html (from r61199, /sandbox/xint/doc/integer_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/blockable__random_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: integer.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_random.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,34 +26,37 @@
   </div>
 </div>
 <div class="contents">
-<h1>integer.cpp File Reference</h1>
-<p>Contains the definitions for the xint::integer member functions.
+<h1>blockable_random.cpp File Reference</h1>
+<p>Contains the definitions for the random number functions for blockable integers.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Random number functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdd4713a71c208a173c1f2436d4e32ff7"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#a8d6e418a9b7172091f434b7657a02908">boost::xint::blockable::random_by_size</a> (size_t bits, bool high_bit_on, bool low_bit_on, bool can_be_negative)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the xint::integer member functions. </p>
+<p>Contains the definitions for the random number functions for blockable integers. </p>
 
-<p>Definition in file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__random_8cpp_source.html">blockable_random.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/blockable__random_8cpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/blockable__random_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: blockable_random.cpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>blockable_random.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
+<a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
+<a name="l00005"></a>00005 <span class="comment"> Copyright 2010 by Chad Nelson</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment"> Distributed under the Boost Software License, Version 1.0.</span>
+<a name="l00008"></a>00008 <span class="comment"> See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00009"></a>00009 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt>
+<a name="l00010"></a>00010 <span class="comment"></span>
+<a name="l00011"></a>00011 <span class="comment"> See
http://www.boost.org/libs/xint for library home page.</span>
+<a name="l00012"></a>00012 <span class="comment">*/</span>
+<a name="l00013"></a>00013
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#a8d6e418a9b7172091f434b7657a02908">random_by_size</a>(<span class="keywordtype">size_t</span> bits, <span class="keywordtype">bool</span> high_bit_on, <span class="keywordtype">bool</span> low_bit_on, <span class="keywordtype">bool</span>
+<a name="l00027"></a>00027 can_be_negative)
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keywordflow">try</span> {
+<a name="l00030"></a>00030 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1core.html#ace96723bc59d89473ab9c750330d4451" title="Generates a random integer with specific attributes.">core::random_by_size</a>(bits, high_bit_on, low_bit_on,
+<a name="l00031"></a>00031 can_be_negative));
+<a name="l00032"></a>00032 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00033"></a>00033 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00034"></a>00034 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 } <span class="comment">// namespace blockable</span>
+<a name="l00039"></a>00039 } <span class="comment">// namespace xint</span>
+<a name="l00040"></a>00040 } <span class="comment">// namespace boost</span>
+</pre></div></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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>
+</html>

Copied: sandbox/xint/doc/blockable__roots_8cpp.html (from r61199, /sandbox/xint/doc/integer_8cpp.html)
==============================================================================
--- /sandbox/xint/doc/integer_8cpp.html (original)
+++ sandbox/xint/doc/blockable__roots_8cpp.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: integer.cpp File Reference</title>
+<title>The Extended Integer (XInt) Library: blockable_roots.cpp File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,34 +26,37 @@
   </div>
 </div>
 <div class="contents">
-<h1>integer.cpp File Reference</h1>
-<p>Contains the definitions for the xint::integer member functions.
+<h1>blockable_roots.cpp File Reference</h1>
+<p>Contains the definitions for blockable integer functions related to roots of a number.
 <a href="#_details">More...</a></p>
-<code>#include &quot;../boost/xint/xint.hpp&quot;</code><br/>
-<code>#include &quot;../boost/xint/xint_data_t.hpp&quot;</code><br/>
 
-<p>Go to the source code of this file.</p>
+<p>Go to the source code of this file.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint.html">boost::xint</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>All of the commonly-used functions are within this namespace. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>The common functions are within this namespace. </p>
 <br/></td></tr>
 </p>
-<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a></td></tr>
 
-<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> type and <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> functions. </p>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Contains the blockable integer type, and functions to operate on it. </p>
 <br/></td></tr>
 </p>
+<tr><td colspan="2"><h2>Functions</h2></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>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">integer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1xint_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">boost::xint::blockable::sqrt</a> (const integer &amp;n)</td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Contains the definitions for the xint::integer member functions. </p>
+<p>Contains the definitions for blockable integer functions related to roots of a number. </p>
 
-<p>Definition in file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition in file <a class="el" href="blockable__roots_8cpp_source.html">blockable_roots.cpp</a>.</p>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Copied: sandbox/xint/doc/blockable__roots_8cpp_source.html (from r61199, /sandbox/xint/doc/xint__test_8hpp_source.html)
==============================================================================
--- /sandbox/xint/doc/xint__test_8hpp_source.html (original)
+++ sandbox/xint/doc/blockable__roots_8cpp_source.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -2,12 +2,12 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint_test.hpp Source File</title>
+<title>The Extended Integer (XInt) Library: blockable_roots.cpp Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -24,7 +24,7 @@
       <li>File Members</li>
     </ul>
   </div>
-<h1>xint_test.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<h1>blockable_roots.cpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
 <a name="l00002"></a>00002 <span class="comment">/*</span>
 <a name="l00003"></a>00003 <span class="comment"> The Extended Integer (XInt) Library</span>
 <a name="l00004"></a>00004 <span class="comment"> A fast, portable C++ library for multi-precision integer math</span>
@@ -37,28 +37,27 @@
 <a name="l00011"></a>00011 <span class="comment"> See http://www.boost.org/libs/xint for library home page.</span>
 <a name="l00012"></a>00012 <span class="comment">*/</span>
 <a name="l00013"></a>00013
-<a name="l00018"></a>00018 <span class="preprocessor">#ifndef BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_INCLUDED_XINT_TEST_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../boost/xint/xint.hpp&quot;</span>
+<a name="l00020"></a>00020
 <a name="l00021"></a>00021 <span class="keyword">namespace </span>boost {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>xint {
-<a name="l00023"></a>00023
-<a name="l00026"></a>00026 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a9d062367dfe2a79e4471c97d1ee101b2">testBitManipulations</a>();
-<a name="l00027"></a>00027 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a8b1647a9b23f45407df6d402852d06ae">testAddSubtract</a>();
-<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a87d760db18932efaafb906c0ebbdb50f">testMultiply</a>();
-<a name="l00029"></a>00029 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aabf845d8d592d3576d7223fc29362b3a">testDivideMod</a>();
-<a name="l00030"></a>00030 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#aca8ead732f9dac3f23f53095eacd762e">testConvert</a>();
-<a name="l00031"></a>00031 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#ace6d9f008e78329286fc9003896667cd">testStreams</a>();
-<a name="l00032"></a>00032 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a6073c3037b644655bc752120b144e804">testMontyMultiply</a>();
-<a name="l00033"></a>00033 <span class="keywordtype">bool</span> <a class="code" href="namespaceboost_1_1xint.html#a099082cd8bbd0e994870ad89859e18c1">testMontyPowerMod</a>();
-<a name="l00035"></a>00035
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>blockable {
+<a name="l00024"></a>00024
+<a name="l00026"></a>00026 integer <a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">sqrt</a>(<span class="keyword">const</span> integer&amp; n) {
+<a name="l00027"></a>00027 <span class="keywordflow">try</span> {
+<a name="l00028"></a>00028 <span class="keywordflow">return</span> integer(<a class="code" href="namespaceboost_1_1xint_1_1blockable.html#aa2bb7a673045f8a9b517e5903f9c10e5">sqrt</a>(core::integer(n)));
+<a name="l00029"></a>00029 } <span class="keywordflow">catch</span> (std::exception&amp;) {
+<a name="l00030"></a>00030 <span class="keywordflow">if</span> (<a class="code" href="namespaceboost_1_1xint.html#a389e96a85ba1c76ef5bfcf836b7e4e8a" title="Query whether exceptions are currently allowed or blocked.">exceptions_allowed</a>()) <span class="keywordflow">throw</span>;
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">integer::nan</a>();
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 } <span class="comment">// namespace blockable</span>
 <a name="l00036"></a>00036 } <span class="comment">// namespace xint</span>
 <a name="l00037"></a>00037 } <span class="comment">// namespace boost</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="preprocessor">#endif // BOOST_INCLUDED_XINT_TEST_H</span>
 </pre></div></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:43 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::blockable::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">_set_negative</a>(bool negative)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0ff286ad0a69d6f885cf51905331b065">integer</a>(const core::integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2c02cafe2e7f1262a8b45356b32a21ab">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a466b727de74ca896778f7bde6ae3fbf1">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a97fd03d9176e7f308518248e738987c7">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">nan</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">operator&amp;=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">operator*=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">operator++</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a50d2872735d7b1dfcba66d4940cdc658">operator++</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">operator+=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">operator--</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0e35cc2d6c37f4e14c4d21d998179121">operator--</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">operator-=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">operator/=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">operator=</a>(const integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">sign</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">boost::xint::blockable::integer</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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>
+</html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,899 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: boost::xint::blockable::integer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1blockable.html">blockable</a>::<a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::blockable::integer Class Reference</h1><!-- doxytag: class="boost::xint::blockable::integer" --><!-- doxytag: inherits="boost::xint::core::base_integer" -->
+<p>The blockable integer class.
+More...</p>
+<div class="dynheader">
+Inheritance diagram for boost::xint::blockable::integer:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classboost_1_1xint_1_1blockable_1_1integer.png" usemap="#boost::xint::blockable::integer_map" alt=""/>
+ <map id="boost::xint::blockable::integer_map" name="boost::xint::blockable::integer_map">
+<area href="classboost_1_1xint_1_1core_1_1base__integer.html" alt="boost::xint::core::base_integer" shape="rect" coords="0,0,178,24"/>
+</map>
+ </div>
+</div>
+
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
+</div></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_1blockable_1_1integer.html#a9f1ddc3bb2f495ebad9dc666c51ed046">integer</a> ()</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_1blockable_1_1integer.html#acade75e4974489026f1eeb6945c9779a">integer</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;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_1blockable_1_1integer.html#a0ff286ad0a69d6f885cf51905331b065">integer</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. <br/></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_1blockable_1_1integer.html#a2c02cafe2e7f1262a8b45356b32a21ab">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &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_1blockable_1_1integer.html#a466b727de74ca896778f7bde6ae3fbf1">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &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_1blockable_1_1integer.html#a97fd03d9176e7f308518248e738987c7">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
+<p>Note that there is no <code>operator~</code>. Since the integer type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a90efe3e62f20a587d2304d7df6e91c63">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af6ee01d09f0dcb51fa6c45437e18de7e">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a9e89bbb863f344227e72585634f4c695">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aedc9d1a4591b66b96f2074a944990d8d">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ac25f98f5fbf12160ea9bfd6acb867f16">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a3c95f3fe54f21728cce0363283e63582">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aaf8089c12fbf456ba44414031975904e">operator++</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#aac66433b51dba8fa64e555fbe753195c">operator--</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a50d2872735d7b1dfcba66d4940cdc658">operator++</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a0e35cc2d6c37f4e14c4d21d998179121">operator--</a> (int)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#acc4f122a18cb417de1e04dbc011cd2ab">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#af8a5624f5fe99930cf27b13628190717">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a2e63df76366b1ad1bd0246eebe24e3ef">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;n)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae21b3b4e8189fd051efa649f00a3dce3">operator&lt;&lt;</a> (size_t shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a479d19cff13ff3d592f9e543f14c1254">operator&gt;&gt;</a> (size_t shift) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#afd3d92f33f89c51575062f4d87238380">operator&lt;&lt;=</a> (size_t shift)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a31216f4689f95bf82677faa3b43ad458">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></a> </p>
+</div></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_1blockable_1_1integer.html#aeeb0effdaf500fabdabde386c6d71ecf">odd</a> () const </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_1blockable_1_1integer.html#aa4a34e862279bdcabcb10aa3f7015751">even</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#addba2da8dc24e5e137dc759b5ec3c211">sign</a> () const </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_1blockable_1_1integer.html#aa03f255fa20c9340c110a56a9b4e5123">is_nan</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests <code>*this</code> for Not-a-Number. <br/></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_1blockable_1_1integer.html#ab59ab2bab8ee2620f82328e43d8f8493">hex_digits</a> () const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Internal Functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a>These functions allow access to the internals of the integer. They are intended for internal use only. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a7ebbf3b74b5c3307f550efa29180b7f6">_set_negative</a> (bool negative)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a93aebe2dfcc921ae4959811399b1643e">_make_unique</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Preconstructed integers</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> These return preconstructed integers with the values named by the functions. They are used internally, so that the most common values don't have to be constructed each time they're needed. </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#a6f7309f1c9710a8167796c6954e690fd">zero</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ad1c34452538608bee270c1971f8a0bd5">one</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html#ae52c1f42c887d0fffa40e38c97caedf1">nan</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The blockable integer class. </p>
+<p>Functions using this class can be exception-blocked. See <a class="el" href="exceptions.html">this page</a> for details.</p>
+<p>There are only a few member functions; most of the functionality is implemented using standalone functions.</p>
+<p>Functions that start with an underscore (such as <code>_make_unique</code>) are intended for internal use only. They may change arbitrarily in future versions. </p>
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00387">387</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9f1ddc3bb2f495ebad9dc666c51ed046"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a9f1ddc3bb2f495ebad9dc666c51ed046" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Creates a new integer with an initial value of zero. </p>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00037">37</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acade75e4974489026f1eeb6945c9779a"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="acade75e4974489026f1eeb6945c9779a" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Creates a copy of an existing integer. <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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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="blockable__integer_8cpp_source.html#l00042">42</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0ff286ad0a69d6f885cf51905331b065"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a0ff286ad0a69d6f885cf51905331b065" args="(const core::integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates an integer from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. </p>
+<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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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="blockable__integer_8cpp_source.html#l00056">56</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c02cafe2e7f1262a8b45356b32a21ab"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a2c02cafe2e7f1262a8b45356b32a21ab" args="(const std::string &amp;str, size_t base=10)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &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="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Create an integer from a string representation. <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 of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</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_1invalid__base.html" title="Exception class.">xint::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">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__digit.html" title="Exception class.">xint::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 will convert a string representation of a number into an integer. See the description of the xint::from_string function for details on its behavior.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize 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="blockable__integer_8cpp_source.html#l00061">61</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a466b727de74ca896778f7bde6ae3fbf1"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a466b727de74ca896778f7bde6ae3fbf1" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</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>Constructs a new integer object with the value of the built-in signed integer passed to it.</p>
+<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>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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="xint_8hpp_source.html#l00969">969</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a97fd03d9176e7f308518248e738987c7"></a><!-- doxytag: member="boost::xint::blockable::integer::integer" ref="a97fd03d9176e7f308518248e738987c7" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::blockable::integer::integer </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</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>Constructs a new integer object with the value of the built-in unsigned integer passed to it.</p>
+<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>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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="xint_8hpp_source.html#l00993">993</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a93aebe2dfcc921ae4959811399b1643e"></a><!-- doxytag: member="boost::xint::blockable::integer::_make_unique" ref="a93aebe2dfcc921ae4959811399b1643e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::blockable::integer::_make_unique </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00237">237</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7ebbf3b74b5c3307f550efa29180b7f6"></a><!-- doxytag: member="boost::xint::blockable::integer::_set_negative" ref="a7ebbf3b74b5c3307f550efa29180b7f6" args="(bool negative)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::blockable::integer::_set_negative </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>negative</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00248">248</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa4a34e862279bdcabcb10aa3f7015751"></a><!-- doxytag: member="boost::xint::blockable::integer::even" ref="aa4a34e862279bdcabcb10aa3f7015751" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::blockable::integer::even </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the lowest bit of <code>*this</code> to determine evenness. <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00085">85</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab59ab2bab8ee2620f82328e43d8f8493"></a><!-- doxytag: member="boost::xint::blockable::integer::hex_digits" ref="ab59ab2bab8ee2620f82328e43d8f8493" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::blockable::integer::hex_digits </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tells you roughly how large an integer is. <dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00110">110</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa03f255fa20c9340c110a56a9b4e5123"></a><!-- doxytag: member="boost::xint::blockable::integer::is_nan" ref="aa03f255fa20c9340c110a56a9b4e5123" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::blockable::integer::is_nan </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Tests <code>*this</code> for Not-a-Number. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is Not-a-Number, otherwise <code>false</code>.</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="blockable__integer_8cpp_source.html#l00125">125</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae52c1f42c887d0fffa40e38c97caedf1"></a><!-- doxytag: member="boost::xint::blockable::integer::nan" ref="ae52c1f42c887d0fffa40e38c97caedf1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::nan </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00204">204</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeeb0effdaf500fabdabde386c6d71ecf"></a><!-- doxytag: member="boost::xint::blockable::integer::odd" ref="aeeb0effdaf500fabdabde386c6d71ecf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::blockable::integer::odd </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the lowest bit of <code>*this</code> to determine oddness. <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00073">73</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad1c34452538608bee270c1971f8a0bd5"></a><!-- doxytag: member="boost::xint::blockable::integer::one" ref="ad1c34452538608bee270c1971f8a0bd5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::one </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00199">199</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3c95f3fe54f21728cce0363283e63582"></a><!-- doxytag: member="boost::xint::blockable::integer::operator%=" ref="a3c95f3fe54f21728cce0363283e63582" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator%= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00161">161</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc4f122a18cb417de1e04dbc011cd2ab"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&amp;=" ref="acc4f122a18cb417de1e04dbc011cd2ab" args="(const integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&amp;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00170">170</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aedc9d1a4591b66b96f2074a944990d8d"></a><!-- doxytag: member="boost::xint::blockable::integer::operator*=" ref="aedc9d1a4591b66b96f2074a944990d8d" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator*= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00159">159</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a50d2872735d7b1dfcba66d4940cdc658"></a><!-- doxytag: member="boost::xint::blockable::integer::operator++" ref="a50d2872735d7b1dfcba66d4940cdc658" args="(int)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator++ </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Postincrement operator -- not recommended, inefficient </p>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00165">165</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaf8089c12fbf456ba44414031975904e"></a><!-- doxytag: member="boost::xint::blockable::integer::operator++" ref="aaf8089c12fbf456ba44414031975904e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator++ </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Preincrement operator </p>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00163">163</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6ee01d09f0dcb51fa6c45437e18de7e"></a><!-- doxytag: member="boost::xint::blockable::integer::operator+=" ref="af6ee01d09f0dcb51fa6c45437e18de7e" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00129">129</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0e35cc2d6c37f4e14c4d21d998179121"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;&#45;" ref="a0e35cc2d6c37f4e14c4d21d998179121" args="(int)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator-- </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Postdecrement operator -- not recommended, inefficient </p>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00166">166</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aac66433b51dba8fa64e555fbe753195c"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;&#45;" ref="aac66433b51dba8fa64e555fbe753195c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator-- </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Predecrement operator </p>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00164">164</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9e89bbb863f344227e72585634f4c695"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&#45;=" ref="a9e89bbb863f344227e72585634f4c695" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00139">139</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac25f98f5fbf12160ea9bfd6acb867f16"></a><!-- doxytag: member="boost::xint::blockable::integer::operator/=" ref="ac25f98f5fbf12160ea9bfd6acb867f16" args="(const integer &amp;b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator/= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>b</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae21b3b4e8189fd051efa649f00a3dce3"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&lt;&lt;" ref="ae21b3b4e8189fd051efa649f00a3dce3" args="(size_t shift) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afd3d92f33f89c51575062f4d87238380"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&lt;&lt;=" ref="afd3d92f33f89c51575062f4d87238380" args="(size_t shift)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&lt;&lt;= </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00174">174</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90efe3e62f20a587d2304d7df6e91c63"></a><!-- doxytag: member="boost::xint::blockable::integer::operator=" ref="a90efe3e62f20a587d2304d7df6e91c63" args="(const integer &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>c</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00149">149</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a479d19cff13ff3d592f9e543f14c1254"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&gt;&gt;" ref="a479d19cff13ff3d592f9e543f14c1254" args="(size_t shift) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> boost::xint::blockable::integer::operator&gt;&gt; </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00169">169</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a31216f4689f95bf82677faa3b43ad458"></a><!-- doxytag: member="boost::xint::blockable::integer::operator&gt;&gt;=" ref="a31216f4689f95bf82677faa3b43ad458" args="(size_t shift)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator&gt;&gt;= </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>shift</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00184">184</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2e63df76366b1ad1bd0246eebe24e3ef"></a><!-- doxytag: member="boost::xint::blockable::integer::operator^=" ref="a2e63df76366b1ad1bd0246eebe24e3ef" args="(const integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator^= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00172">172</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af8a5624f5fe99930cf27b13628190717"></a><!-- doxytag: member="boost::xint::blockable::integer::operator|=" ref="af8a5624f5fe99930cf27b13628190717" args="(const integer &amp;n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::operator|= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00171">171</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addba2da8dc24e5e137dc759b5ec3c211"></a><!-- doxytag: member="boost::xint::blockable::integer::sign" ref="addba2da8dc24e5e137dc759b5ec3c211" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int boost::xint::blockable::integer::sign </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Tests the sign of <code>*this</code>. <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. </dd></dl>
+</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00097">97</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6f7309f1c9710a8167796c6954e690fd"></a><!-- doxytag: member="boost::xint::blockable::integer::zero" ref="a6f7309f1c9710a8167796c6954e690fd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> &amp; boost::xint::blockable::integer::zero </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="blockable__integer_8cpp_source.html#l00194">194</a> of file <a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
+<li><a class="el" href="blockable__integer_8cpp_source.html">blockable_integer.cpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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>
+</html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1blockable_1_1integer.png
==============================================================================
Binary file. No diff available.

Modified: sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1cannot__represent.html">boost::xint::cannot_represent</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1cannot__represent.html#a940b731d15c77c43abef5d6053fd5d75">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_1cannot__represent.html">boost::xint::cannot_represent</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1cannot__represent.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::invalid_argument</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00635">635</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00695">695</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a940b731d15c77c43abef5d6053fd5d75"></a><!-- doxytag: member="boost::xint::cannot_represent::cannot_represent" ref="a940b731d15c77c43abef5d6053fd5d75" args="(const std::string &amp;what=&quot;cannot represent the requested value&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00637">637</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00697">697</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::core::base_integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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>
+</html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html
==============================================================================
--- (empty file)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -0,0 +1,264 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>The Extended Integer (XInt) Library: boost::xint::core::base_integer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="namespaceboost_1_1xint_1_1core.html">core</a>::<a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a>
+ </div>
+</div>
+<div class="contents">
+<h1>boost::xint::core::base_integer Class Reference</h1><!-- doxytag: class="boost::xint::core::base_integer" -->
+<p>The base class for the integer classes.
+More...</p>
+<div class="dynheader">
+Inheritance diagram for boost::xint::core::base_integer:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classboost_1_1xint_1_1core_1_1base__integer.png" usemap="#boost::xint::core::base_integer_map" alt=""/>
+ <map id="boost::xint::core::base_integer_map" name="boost::xint::core::base_integer_map">
+<area href="classboost_1_1xint_1_1blockable_1_1integer.html" alt="boost::xint::blockable::integer" shape="rect" coords="0,56,178,80"/>
+<area href="classboost_1_1xint_1_1core_1_1integer.html" alt="boost::xint::core::integer" shape="rect" coords="188,56,366,80"/>
+</map>
+ </div>
+</div>
+
+<p>List of all members.</p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></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_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a> ()</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_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a> ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Internal Functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a> </p>
+</div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a> (size_t index) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a> (size_t index, bool) const </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_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a> () const </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_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a> () const </td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a> (<a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *new_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;copy)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The base class for the integer classes. </p>
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00139">139</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a41cf20da11883ce0547e2391b9a51a80"></a><!-- doxytag: member="boost::xint::core::base_integer::base_integer" ref="a41cf20da11883ce0547e2391b9a51a80" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::core::base_integer::base_integer </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00141">141</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a25b1de1f91bd026add3b07043b0eefcd"></a><!-- doxytag: member="boost::xint::core::base_integer::~base_integer" ref="a25b1de1f91bd026add3b07043b0eefcd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">boost::xint::core::base_integer::~base_integer </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00036">36</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a80fd494f4fe59cb29f1f305b1f092e45"></a><!-- doxytag: member="boost::xint::core::base_integer::_attach" ref="a80fd494f4fe59cb29f1f305b1f092e45" args="(const base_integer &amp;copy)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_attach </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>copy</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00070">70</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a662d8cca23ec10683e5a4884e9ade5d4"></a><!-- doxytag: member="boost::xint::core::base_integer::_attach" ref="a662d8cca23ec10683e5a4884e9ade5d4" args="(detail::data_t *new_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void boost::xint::core::base_integer::_attach </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>new_data</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00053">53</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a28bd6c6ce95b271d6f75d82041515df2"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_data" ref="a28bd6c6ce95b271d6f75d82041515df2" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* boost::xint::core::base_integer::_get_data </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00146">146</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4cbda067a810993a4d253d9113ca44a8"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digit" ref="a4cbda067a810993a4d253d9113ca44a8" args="(size_t index, bool) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::core::base_integer::_get_digit </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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_8cpp_source.html#l00044">44</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac932c6bae77d2bbc93bf3456909e30bb"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_digit" ref="ac932c6bae77d2bbc93bf3456909e30bb" args="(size_t index) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::core::base_integer::_get_digit </td>
+ <td>(</td>
+ <td class="paramtype">size_t&nbsp;</td>
+ <td class="paramname"> <em>index</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00040">40</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9ed6fed4d931d2eb9b481ca02cc96bd7"></a><!-- doxytag: member="boost::xint::core::base_integer::_get_length" ref="a9ed6fed4d931d2eb9b481ca02cc96bd7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t boost::xint::core::base_integer::_get_length </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00049">49</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa3d3f1dafb98685d92dec931dd0e3671"></a><!-- doxytag: member="boost::xint::core::base_integer::_is_unique" ref="aa3d3f1dafb98685d92dec931dd0e3671" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool boost::xint::core::base_integer::_is_unique </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00074">74</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
+<li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
+</ul>
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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>
+</html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1base__integer.png
==============================================================================
Binary file. No diff available.

Modified: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -28,27 +28,27 @@
 </div>
 <div class="contents">
 <h1>boost::xint::core::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a36b2dd01107d790e21121f9a90972e77">_attach</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ad03731b064ba24811f506e793b75c9e7">_detach</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5f004409e37511908168a4ee9961c6a1">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a78bf0cc9214b8f0b1217d4b815a06827">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aca9d6394bb912c96137f7129e7a0813a">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a61ca83a82f49f63b3de8729cc9857f0c">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a662d8cca23ec10683e5a4884e9ade5d4">_attach</a>(detail::data_t *new_data)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a80fd494f4fe59cb29f1f305b1f092e45">_attach</a>(const base_integer &amp;copy)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a28bd6c6ce95b271d6f75d82041515df2">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#ac932c6bae77d2bbc93bf3456909e30bb">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a4cbda067a810993a4d253d9113ca44a8">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a9ed6fed4d931d2eb9b481ca02cc96bd7">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a0a8f95e339c5c30a23313a4af6a40b51">_init</a>(detail::digit_t init=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab02f3ddc3b8bd2f892f8a072427076b4">_init</a>(const integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a275c6dc7e675e5395ab16d92c9851429">_init</a>(boost::uintmax_t n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#aa3d3f1dafb98685d92dec931dd0e3671">_is_unique</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a66b8657cfa608ce2fd95bfad869e09b3">_set_negative</a>(bool negative)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a8abb914b0ac16a933a0f7792dc56a0fc">data</a></td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a41cf20da11883ce0547e2391b9a51a80">base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a61bef2a0575b9f331ca32686e489c9d3">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a615f128085bba5e711c24be546449f43">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a4e99025a3cdbf0777f90effe05e97625">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa8a21b616c6c6f78f3c49686f897b067">integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a151c3360e342e84de651143d1cfba86f">integer</a>(const ::boost::xint::integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ad0f5b3fdf28a3e2892198dd1c39afe82">integer</a>(const blockable::integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afb6b73128973a835a261546f0a7fa0e7">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a570690c9233ceb8d73dccb9af052f12b">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [explicit]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a9eacfa2b1eea176019597ea25023e40e">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afcf74b546cda2690025c75325365a0fe">one</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a182855c5d54a78bad4fde3e807d2cce1">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
@@ -70,10 +70,10 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a6778bfda930127b6f203cbb7967373b5">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a38cca795dabe23e124640fec8b46bdf5">~integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">boost::xint::core::integer</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html#a25b1de1f91bd026add3b07043b0eefcd">~base_integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">boost::xint::core::base_integer</a></td><td></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -29,30 +29,42 @@
   </div>
 </div>
 <div class="contents">
-<h1>boost::xint::core::integer Class Reference</h1><!-- doxytag: class="boost::xint::core::integer" -->
-<p>The <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> class.
+<h1>boost::xint::core::integer Class Reference</h1><!-- doxytag: class="boost::xint::core::integer" --><!-- doxytag: inherits="boost::xint::core::base_integer" -->
+<p>The core integer class.
 <a href="#_details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for boost::xint::core::integer:</div>
+<div class="dynsection">
+ <div class="center">
+ <img src="classboost_1_1xint_1_1core_1_1integer.png" usemap="#boost::xint::core::integer_map" alt=""/>
+ <map id="boost::xint::core::integer_map" name="boost::xint::core::integer_map">
+<area href="classboost_1_1xint_1_1core_1_1base__integer.html" alt="boost::xint::core::base_integer" shape="rect" coords="0,0,178,24"/>
+</map>
+ </div>
+</div>
 
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
 <tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
-<br/><br/></div></td></tr>
+</div></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_1core_1_1integer.html#a4e99025a3cdbf0777f90effe05e97625">integer</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new integer with an initial value of zero. <br/></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_1core_1_1integer.html#aa8a21b616c6c6f78f3c49686f897b067">integer</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;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_1core_1_1integer.html#a151c3360e342e84de651143d1cfba86f">integer</a> (const ::<a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing integer. <br/></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_1core_1_1integer.html#ad0f5b3fdf28a3e2892198dd1c39afe82">integer</a> (const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">blockable::integer</a> &amp;b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer from a <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>. <br/></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_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a> (const std::string &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="memTemplParams" colspan="2">template&lt;typename T &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_1core_1_1integer.html#afb6b73128973a835a261546f0a7fa0e7">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
 <tr><td class="memTemplParams" colspan="2">template&lt;typename T &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_1core_1_1integer.html#a570690c9233ceb8d73dccb9af052f12b">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=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_1core_1_1integer.html#aa5b9d9f104ce714700b4a3a40eefb80f">integer</a> (const std::string &amp;str, 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_1core_1_1integer.html#a38cca795dabe23e124640fec8b46bdf5">~integer</a> ()</td></tr>
 <tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a> </p>
-<br/><br/></div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
+<p>Note that there is no <code>operator~</code>. Since the integer type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
+</div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a25202c72bffb37f2f7342633f0435fed">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;c)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afa137efa8b9fde22a3758ba020b819b7">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aab4918c70e19e08e650e827b2c89e83f">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;b)</td></tr>
@@ -72,40 +84,38 @@
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aac72a9392108a0f684e7f502bef3d8fe">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></a> </p>
-<br/><br/></div></td></tr>
+</div></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_1core_1_1integer.html#a9eacfa2b1eea176019597ea25023e40e">odd</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine oddness. <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_1core_1_1integer.html#a61bef2a0575b9f331ca32686e489c9d3">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>
 <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#abbb37de330e3a50ac3df337e5c0eb1c9">sign</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the sign of <code>*this</code>. <br/></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_1core_1_1integer.html#a615f128085bba5e711c24be546449f43">hex_digits</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells you roughly how large an integer is. <br/></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Internal Functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a> </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab0f5826f4653322ed8ff31a74bade0d4">_get_data</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5f004409e37511908168a4ee9961c6a1">_get_data</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a78bf0cc9214b8f0b1217d4b815a06827">_get_digit</a> (size_t index) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#aca9d6394bb912c96137f7129e7a0813a">_get_digit</a> (size_t index, bool) const </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_1core_1_1integer.html#a61ca83a82f49f63b3de8729cc9857f0c">_get_length</a> () const </td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a>These functions allow access to the internals of the integer. They are intended for internal use only. </p>
+</div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a66b8657cfa608ce2fd95bfad869e09b3">_set_negative</a> (bool negative)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a1f1b1c19c7c3ec22972124abdbd08cc1">_make_unique</a> ()</td></tr>
 <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
 <tr><td colspan="2"><div class="groupHeader">Preconstructed integers</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> </p>
-<br/><br/></div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> These return preconstructed integers with the values named by the functions. They are used internally, so that the most common values don't have to be constructed each time they're needed. </p>
+</div></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a5c4fdf4a0fd9cefd3f72b38413e32e9a">zero</a> ()</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#afcf74b546cda2690025c75325365a0fe">one</a> ()</td></tr>
 <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a0a8f95e339c5c30a23313a4af6a40b51">_init</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> init=0)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ab02f3ddc3b8bd2f892f8a072427076b4">_init</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">integer</a> &amp;c)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a275c6dc7e675e5395ab16d92c9851429">_init</a> (boost::uintmax_t n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a36b2dd01107d790e21121f9a90972e77">_attach</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#ad03731b064ba24811f506e793b75c9e7">_detach</a> ()</td></tr>
-<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a8abb914b0ac16a933a0f7792dc56a0fc">data</a></td></tr>
 </table>
 <hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The <a class="el" href="namespaceboost_1_1xint_1_1core.html" title="Contains the core integer type and core functions.">core</a> <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">integer</a> class. </p>
+<p>The core integer class. </p>
+<p>This class implements the "pure" <code>integer</code> type, uncontaminated by things like the Not-a-Number value.</p>
+<p>There are only a few member functions; most of the functionality is implemented using standalone functions.</p>
+<p>Functions that start with an underscore (such as <code>_make_unique</code>) are intended for internal use only. They may change arbitrarily in future versions. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00142">142</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00173">173</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a4e99025a3cdbf0777f90effe05e97625"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a4e99025a3cdbf0777f90effe05e97625" args="()" -->
 <div class="memitem">
@@ -122,7 +132,9 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00036">36</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Creates a new integer with an initial value of zero. </p>
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00082">82</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -142,18 +154,28 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00040">40</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Creates a copy of an existing integer. </p>
+<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>b</em>&nbsp;</td><td>An existing integer. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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_8cpp_source.html#l00097">97</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a151c3360e342e84de651143d1cfba86f"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a151c3360e342e84de651143d1cfba86f" args="(const ::boost::xint::integer &amp;b)" -->
+<a class="anchor" id="ad0f5b3fdf28a3e2892198dd1c39afe82"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="ad0f5b3fdf28a3e2892198dd1c39afe82" args="(const blockable::integer &amp;b)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname">boost::xint::core::integer::integer </td>
           <td>(</td>
- <td class="paramtype">const ::<a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a> &amp;&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">blockable::integer</a> &amp;&nbsp;</td>
           <td class="paramname"> <em>b</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td><code> [explicit]</code></td>
@@ -162,48 +184,69 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00044">44</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Creates an integer from a <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>. </p>
+<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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html" title="The blockable integer class.">blockable::integer</a>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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_8cpp_source.html#l00111">111</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="afb6b73128973a835a261546f0a7fa0e7"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="afb6b73128973a835a261546f0a7fa0e7" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
+<a class="anchor" id="aa5b9d9f104ce714700b4a3a40eefb80f"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="aa5b9d9f104ce714700b4a3a40eefb80f" args="(const std::string &amp;str, size_t base=10)" -->
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname">boost::xint::core::integer::integer </td>
           <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>str</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
+ <td class="paramtype">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]</code></td>
+ <td></td><td></td><td><code> [explicit]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00706">706</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Create an integer from a string representation. </p>
+<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 of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</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_1invalid__base.html" title="Exception class.">xint::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">xint::autobase</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__digit.html" title="Exception class.">xint::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 will convert a string representation of a number into an integer. See the description of the xint::from_string function for details on its behavior.</dd></dl>
+<dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize 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_8cpp_source.html#l00136">136</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a570690c9233ceb8d73dccb9af052f12b"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a570690c9233ceb8d73dccb9af052f12b" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
+<a class="anchor" id="afb6b73128973a835a261546f0a7fa0e7"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="afb6b73128973a835a261546f0a7fa0e7" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
@@ -224,7 +267,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
           <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -235,205 +278,79 @@
       </table>
 </div>
 <div class="memdoc">
+<p>Constructs a new integer object with the value of the built-in signed integer passed to it.</p>
+<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>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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="xint_8hpp_source.html#l00728">728</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00798">798</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="aa5b9d9f104ce714700b4a3a40eefb80f"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="aa5b9d9f104ce714700b4a3a40eefb80f" args="(const std::string &amp;str, size_t base=10)" -->
+<a class="anchor" id="a570690c9233ceb8d73dccb9af052f12b"></a><!-- doxytag: member="boost::xint::core::integer::integer" ref="a570690c9233ceb8d73dccb9af052f12b" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname">boost::xint::core::integer::integer </td>
           <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">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> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00058">58</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a38cca795dabe23e124640fec8b46bdf5"></a><!-- doxytag: member="boost::xint::core::integer::~integer" ref="a38cca795dabe23e124640fec8b46bdf5" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::core::integer::~integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00062">62</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a36b2dd01107d790e21121f9a90972e77"></a><!-- doxytag: member="boost::xint::core::integer::_attach" ref="a36b2dd01107d790e21121f9a90972e77" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_attach </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00103">103</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad03731b064ba24811f506e793b75c9e7"></a><!-- doxytag: member="boost::xint::core::integer::_detach" ref="ad03731b064ba24811f506e793b75c9e7" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::core::integer::_detach </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00107">107</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5f004409e37511908168a4ee9961c6a1"></a><!-- doxytag: member="boost::xint::core::integer::_get_data" ref="a5f004409e37511908168a4ee9961c6a1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* boost::xint::core::integer::_get_data </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00202">202</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab0f5826f4653322ed8ff31a74bade0d4"></a><!-- doxytag: member="boost::xint::core::integer::_get_data" ref="ab0f5826f4653322ed8ff31a74bade0d4" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* boost::xint::core::integer::_get_data </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00201">201</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aca9d6394bb912c96137f7129e7a0813a"></a><!-- doxytag: member="boost::xint::core::integer::_get_digit" ref="aca9d6394bb912c96137f7129e7a0813a" args="(size_t index, bool) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::core::integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em>, </td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"></td><td>&nbsp;</td>
+ <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
+ <td class="paramname"> = <code>0</code></td><td>&nbsp;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [inline]</code></td>
         </tr>
       </table>
 </div>
 <div class="memdoc">
+<p>Constructs a new integer object with the value of the built-in unsigned integer passed to it.</p>
+<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>A number of type <code>T</code>. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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_8cpp_source.html#l00233">233</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a78bf0cc9214b8f0b1217d4b815a06827"></a><!-- doxytag: member="boost::xint::core::integer::_get_digit" ref="a78bf0cc9214b8f0b1217d4b815a06827" args="(size_t index) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::core::integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00229">229</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a61ca83a82f49f63b3de8729cc9857f0c"></a><!-- doxytag: member="boost::xint::core::integer::_get_length" ref="a61ca83a82f49f63b3de8729cc9857f0c" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::core::integer::_get_length </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00238">238</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00830">830</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
+<hr/><h2>Member Function Documentation</h2>
 <a class="anchor" id="a275c6dc7e675e5395ab16d92c9851429"></a><!-- doxytag: member="boost::xint::core::integer::_init" ref="a275c6dc7e675e5395ab16d92c9851429" args="(boost::uintmax_t n)" -->
 <div class="memitem">
 <div class="memproto">
@@ -451,7 +368,7 @@
 <div class="memdoc">
 <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_8cpp_source.html#l00084">84</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00152">152</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -472,7 +389,7 @@
 <div class="memdoc">
 <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_8cpp_source.html#l00075">75</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00148">148</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -492,7 +409,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00066">66</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00140">140</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -511,7 +428,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00112">112</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00160">160</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -531,7 +448,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00125">125</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00168">168</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -550,7 +467,10 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00137">137</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Tests the lowest bit of <code>*this</code> to determine evenness. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>. </dd></dl>
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00189">189</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -569,7 +489,10 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00146">146</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Tells you roughly how large an integer is. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>. </dd></dl>
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00208">208</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -588,7 +511,10 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00133">133</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Tests the lowest bit of <code>*this</code> to determine oddness. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>. </dd></dl>
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00181">181</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -607,7 +533,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00224">224</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00280">280</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -627,7 +553,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00190">190</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00246">246</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -647,7 +573,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00199">199</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00255">255</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -667,7 +593,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00188">188</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00244">244</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -688,7 +614,7 @@
 <div class="memdoc">
 <p>Postincrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00194">194</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00250">250</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -708,7 +634,7 @@
 <div class="memdoc">
 <p>Preincrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00192">192</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00248">248</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -728,7 +654,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00151">151</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00213">213</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -749,7 +675,7 @@
 <div class="memdoc">
 <p>Postdecrement operator -- not recommended, inefficient </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00195">195</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00251">251</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -769,7 +695,7 @@
 <div class="memdoc">
 <p>Predecrement operator </p>
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00193">193</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00249">249</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -789,7 +715,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00165">165</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00227">227</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -809,7 +735,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00189">189</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00245">245</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -829,7 +755,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00197">197</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00253">253</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -849,7 +775,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00203">203</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00259">259</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -869,7 +795,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00177">177</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00239">239</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -889,7 +815,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00198">198</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00254">254</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -909,7 +835,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00211">211</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00267">267</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -929,7 +855,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00201">201</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00257">257</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -949,7 +875,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00200">200</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00256">256</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -968,7 +894,10 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00141">141</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
+<p>Tests the sign of <code>*this</code>. </p>
+<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. </dd></dl>
+
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00198">198</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -987,23 +916,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00219">219</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Data Documentation</h2>
-<a class="anchor" id="a8abb914b0ac16a933a0f7792dc56a0fc"></a><!-- doxytag: member="boost::xint::core::integer::data" ref="a8abb914b0ac16a933a0f7792dc56a0fc" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html#a8abb914b0ac16a933a0f7792dc56a0fc">boost::xint::core::integer::data</a><code> [protected]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00217">217</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00275">275</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
 
 </div>
 </div>
@@ -1012,8 +925,8 @@
 <li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Added: sandbox/xint/doc/classboost_1_1xint_1_1core_1_1integer.png
==============================================================================
Binary file. No diff available.

Modified: sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">boost::xint::divide_by_zero</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html#a67f133dc2856d38d2664f3c8d8c73fe4">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_1divide__by__zero.html">boost::xint::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1divide__by__zero.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::invalid_argument</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00625">625</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00685">685</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a67f133dc2856d38d2664f3c8d8c73fe4"></a><!-- doxytag: member="boost::xint::divide_by_zero::divide_by_zero" ref="a67f133dc2856d38d2664f3c8d8c73fe4" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00627">627</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00687">687</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::integer Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a638bbe92022faee60d3009b60cc1e556">_get_data</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a0e1746983d1ee61685a09a052278866e">_get_data</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acb5a0571dc9544921e603c00a0c6c93a">_get_digit</a>(size_t index) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9b98d94930ac6e0c4a6add69f622e6e2">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#ad4a65fa154847321803888988d18d244">_get_length</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#ae19edd0d1ee7ecc2d7115b3d489fed55">_set_negative</a>(bool negative)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#afa36410b307d227f66657ea6f2116bdb">even</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#af9206e301a190df90fa2e76a30238c6f">hex_digits</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a33ad2603be1c3ae3823523265f7ee600">integer</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#afc2ddd14b40ab91640d10b134d2b7141">integer</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a7fa5fba071118f89b965a221e7cb9c95">integer</a>(const core::integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acf287891cafa7f5b20f5e56476fa1fc6">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9941bbf92bcfa48233110c451e676f64">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a179df60f5dc32f98b9f564ec20aff5a8">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a65fb2696f8506a6db16b8fb422c98ff5">is_nan</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">nan</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5d17a8184d20e7829273f769550954c1">odd</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">operator++</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">operator--</a>(int)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a>(const integer &amp;b)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">operator=</a>(const integer &amp;c)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#aea1bfa7f915f8d2a1e493aedb22bdd12">sign</a>() const </td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a>()</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">boost::xint::integer</a></td><td><code> [static]</code></td></tr>
-</table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classboost_1_1xint_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1integer.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,1019 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: boost::xint::integer Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<a class="el" href="namespaceboost_1_1xint.html">xint</a>::<a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>boost::xint::integer Class Reference</h1><!-- doxytag: class="boost::xint::integer" -->
-<p>The extended integer class.
-More...</p>
-
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
-<br/><br/></div></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.html#a33ad2603be1c3ae3823523265f7ee600">integer</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> with an initial value of zero. <br/></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.html#afc2ddd14b40ab91640d10b134d2b7141">integer</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. <br/></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.html#a7fa5fba071118f89b965a221e7cb9c95">integer</a> (const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &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.html#acf287891cafa7f5b20f5e56476fa1fc6">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &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.html#a9941bbf92bcfa48233110c451e676f64">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=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.html#a179df60f5dc32f98b9f564ec20aff5a8">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> from a string representation. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
-<p>Note that there is no <code>operator~</code>. Since the <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9ae8cfa93f2e43cf0471266c54b06be2">operator=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a8ba263f6a5e51c15e3c51241d113c35e">operator+=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a92f8f3cb4e080c43d889103e7606b7ba">operator-=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a3452b0a1af51a556bdcb6a3d087b44db">operator*=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9e630e1f2cf12d29ad01de9c44dc8e3c">operator/=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a1acfe3b61f26b7168fd103521f6deee9">operator%=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#ab15c60f8f28c2f520a26ab19e33c280c">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa535f200d1d95306aae3d5f991df4e8f">operator--</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acdb4dc0521b76fbb0e667905fddaaada">operator++</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a628a1e9614bcb4d0916dd7869877807d">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a717edb41c50edbd4b601c38b1fc6a8b0">operator&amp;=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a1fa48e6c6cefec7ae672156d27e79ec6">operator|=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a40fdf2cd80d53e173aa5129fe02289c3">operator^=</a> (const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#abc90075da0adaef0da2d0083e59af414">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a22af7cfcb28f97f4c8b78939265b46d6">operator&gt;&gt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a33f0a1167639a60ac8ad8ef0f3d3f585">operator&lt;&lt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a0ca39c4cb36160461fb9848cc9e7f2d4">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></a> </p>
-<br/><br/></div></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.html#a5d17a8184d20e7829273f769550954c1">odd</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine oddness. <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.html#afa36410b307d227f66657ea6f2116bdb">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>
-<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aea1bfa7f915f8d2a1e493aedb22bdd12">sign</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the sign of <code>*this</code>. <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.html#a65fb2696f8506a6db16b8fb422c98ff5">is_nan</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests <code>*this</code> for Not-a-Number. <br/></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.html#af9206e301a190df90fa2e76a30238c6f">hex_digits</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells you roughly how large an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> is. <br/></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Internal Functions</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpae260ff3a3a80dad696f01482c30bb91"></a>These functions allow access to the internals of the integer. They are intended for internal use only. </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a638bbe92022faee60d3009b60cc1e556">_get_data</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a0e1746983d1ee61685a09a052278866e">_get_data</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#acb5a0571dc9544921e603c00a0c6c93a">_get_digit</a> (size_t index) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a9b98d94930ac6e0c4a6add69f622e6e2">_get_digit</a> (size_t index, bool) const </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.html#ad4a65fa154847321803888988d18d244">_get_length</a> () const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#ae19edd0d1ee7ecc2d7115b3d489fed55">_set_negative</a> (bool negative)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a04331a88bb2a975a7349e0c04cb230de">_make_unique</a> ()</td></tr>
-<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Preconstructed integers</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbc92fcddffc2f3092779f92fe2501e4a"></a> These return preconstructed integers with the values named by the functions. They are used internally, so that the most common values don't have to be constructed each time they're needed, but they are available to your own code as well. </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a5c08ebe10f3f6333328b35193edd53d0">zero</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#aa332681715634b73118ffe76090a75d3">one</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1xint_1_1integer.html#a379808d01a0e66ac61f309f211c4fb44">nan</a> ()</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>The extended integer class. </p>
-<p>This class implements the main <code><a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a></code> type.</p>
-<p>There are only a few member functions; most of the functionality is implemented using standalone functions.</p>
-<p>Functions that start with an underscore (such as <code>_make_unique</code>) are intended for internal use only. They may change arbitrarily in future versions. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00236">236</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a33ad2603be1c3ae3823523265f7ee600"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a33ad2603be1c3ae3823523265f7ee600" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a new <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> with an initial value of zero. </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00254">254</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afc2ddd14b40ab91640d10b134d2b7141"></a><!-- doxytag: member="boost::xint::integer::integer" ref="afc2ddd14b40ab91640d10b134d2b7141" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates a copy of an existing <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. </p>
-<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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. If passed a Not-a-Number, it will create another Not-a-Number.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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_8cpp_source.html#l00269">269</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7fa5fba071118f89b965a221e7cb9c95"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a7fa5fba071118f89b965a221e7cb9c95" args="(const core::integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html">core::integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Creates an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> from a <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>. </p>
-<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>b</em>&nbsp;</td><td>An existing <a class="el" href="classboost_1_1xint_1_1core_1_1integer.html" title="The core integer class.">core::integer</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>This library can use a <a class="el" href="cow.html">copy-on-write technique</a>, making copying (even of large numbers) a very inexpensive operation.</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_8cpp_source.html#l00284">284</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acf287891cafa7f5b20f5e56476fa1fc6"></a><!-- doxytag: member="boost::xint::integer::integer" ref="acf287891cafa7f5b20f5e56476fa1fc6" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</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>Constructs a new <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> object with the value of the built-in signed integer passed to it.</p>
-<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>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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="xint_8hpp_source.html#l00750">750</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9941bbf92bcfa48233110c451e676f64"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a9941bbf92bcfa48233110c451e676f64" args="(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const T &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *&nbsp;</td>
- <td class="paramname"> = <code>0</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>Constructs a new <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> object with the value of the built-in unsigned integer passed to it.</p>
-<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>A number of type <code>T</code>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The type of <code>n</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<p>You can ignore the <code>enable_if</code> parameters, they are there only to tell the compiler what types it 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="xint_8hpp_source.html#l00776">776</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a179df60f5dc32f98b9f564ec20aff5a8"></a><!-- doxytag: member="boost::xint::integer::integer" ref="a179df60f5dc32f98b9f564ec20aff5a8" args="(const std::string &amp;str, size_t base=10)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boost::xint::integer::integer </td>
- <td>(</td>
- <td class="paramtype">const std::string &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="paramname"> <em>base</em> = <code>10</code></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td><code> [explicit]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Create an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> from a string representation. </p>
-<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 of the number, or <a class="el" href="namespaceboost_1_1xint.html#a086ec65a0273dccedca0fbfbddb03398">xint::autobase</a>.</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_1invalid__base.html" title="Exception class.">xint::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">xint::autobase</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classboost_1_1xint_1_1invalid__digit.html" title="Exception class.">xint::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 will convert a string representation of a number into an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a>. See the description of the <a class="el" href="namespaceboost_1_1xint.html#af263105e57d48eff5fe14d4d03ca10e1" title="Converts a string into an integer.">xint::from_string</a> function for details on its behavior.</dd></dl>
-<dl class="user"><dt><b></b></dt><dd>This is the most common way to initialize 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_8cpp_source.html#l00316">316</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/><h2>Member Function Documentation</h2>
-<a class="anchor" id="a0e1746983d1ee61685a09a052278866e"></a><!-- doxytag: member="boost::xint::integer::_get_data" ref="a0e1746983d1ee61685a09a052278866e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* boost::xint::integer::_get_data </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const<code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00312">312</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a638bbe92022faee60d3009b60cc1e556"></a><!-- doxytag: member="boost::xint::integer::_get_data" ref="a638bbe92022faee60d3009b60cc1e556" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">detail::data_t</a>* boost::xint::integer::_get_data </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00311">311</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b98d94930ac6e0c4a6add69f622e6e2"></a><!-- doxytag: member="boost::xint::integer::_get_digit" ref="a9b98d94930ac6e0c4a6add69f622e6e2" args="(size_t index, bool) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<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_8cpp_source.html#l00492">492</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acb5a0571dc9544921e603c00a0c6c93a"></a><!-- doxytag: member="boost::xint::integer::_get_digit" ref="acb5a0571dc9544921e603c00a0c6c93a" args="(size_t index) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceboost_1_1xint_1_1detail.html#a46b5dc5524403d8a09d1bb419abcc347">detail::digit_t</a> boost::xint::integer::_get_digit </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>index</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00488">488</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4a65fa154847321803888988d18d244"></a><!-- doxytag: member="boost::xint::integer::_get_length" ref="ad4a65fa154847321803888988d18d244" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::integer::_get_length </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00497">497</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a04331a88bb2a975a7349e0c04cb230de"></a><!-- doxytag: member="boost::xint::integer::_make_unique" ref="a04331a88bb2a975a7349e0c04cb230de" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::integer::_make_unique </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00556">556</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae19edd0d1ee7ecc2d7115b3d489fed55"></a><!-- doxytag: member="boost::xint::integer::_set_negative" ref="ae19edd0d1ee7ecc2d7115b3d489fed55" args="(bool negative)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void boost::xint::integer::_set_negative </td>
- <td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>negative</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00572">572</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afa36410b307d227f66657ea6f2116bdb"></a><!-- doxytag: member="boost::xint::integer::even" ref="afa36410b307d227f66657ea6f2116bdb" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::integer::even </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests the lowest bit of <code>*this</code> to determine evenness. </p>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is even, otherwise <code>false</code>.</dd></dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00347">347</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af9206e301a190df90fa2e76a30238c6f"></a><!-- doxytag: member="boost::xint::integer::hex_digits" ref="af9206e301a190df90fa2e76a30238c6f" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">size_t boost::xint::integer::hex_digits </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tells you roughly how large an <a class="el" href="classboost_1_1xint_1_1integer.html" title="The extended integer class.">integer</a> is. </p>
-<dl class="return"><dt><b>Returns:</b></dt><dd>The number of hexadecimal digits that would be required to encode <code>this</code>.</dd></dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00378">378</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a65fb2696f8506a6db16b8fb422c98ff5"></a><!-- doxytag: member="boost::xint::integer::is_nan" ref="a65fb2696f8506a6db16b8fb422c98ff5" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::integer::is_nan </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests <code>*this</code> for Not-a-Number. </p>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is Not-a-Number, otherwise <code>false</code>.</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_8cpp_source.html#l00393">393</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a379808d01a0e66ac61f309f211c4fb44"></a><!-- doxytag: member="boost::xint::integer::nan" ref="a379808d01a0e66ac61f309f211c4fb44" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::nan </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00478">478</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5d17a8184d20e7829273f769550954c1"></a><!-- doxytag: member="boost::xint::integer::odd" ref="a5d17a8184d20e7829273f769550954c1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool boost::xint::integer::odd </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests the lowest bit of <code>*this</code> to determine oddness. </p>
-<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*this</code> is odd, otherwise <code>false</code>.</dd></dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns false instead of throwing. </dd></dl>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00333">333</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa332681715634b73118ffe76090a75d3"></a><!-- doxytag: member="boost::xint::integer::one" ref="aa332681715634b73118ffe76090a75d3" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::one </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00473">473</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1acfe3b61f26b7168fd103521f6deee9"></a><!-- doxytag: member="boost::xint::integer::operator%=" ref="a1acfe3b61f26b7168fd103521f6deee9" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator%= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00435">435</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a717edb41c50edbd4b601c38b1fc6a8b0"></a><!-- doxytag: member="boost::xint::integer::operator&amp;=" ref="a717edb41c50edbd4b601c38b1fc6a8b0" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator&amp;= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00444">444</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3452b0a1af51a556bdcb6a3d087b44db"></a><!-- doxytag: member="boost::xint::integer::operator*=" ref="a3452b0a1af51a556bdcb6a3d087b44db" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator*= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00433">433</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acdb4dc0521b76fbb0e667905fddaaada"></a><!-- doxytag: member="boost::xint::integer::operator++" ref="acdb4dc0521b76fbb0e667905fddaaada" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::integer::operator++ </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postincrement operator -- not recommended, inefficient </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00439">439</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab15c60f8f28c2f520a26ab19e33c280c"></a><!-- doxytag: member="boost::xint::integer::operator++" ref="ab15c60f8f28c2f520a26ab19e33c280c" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator++ </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Preincrement operator </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00437">437</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8ba263f6a5e51c15e3c51241d113c35e"></a><!-- doxytag: member="boost::xint::integer::operator+=" ref="a8ba263f6a5e51c15e3c51241d113c35e" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator+= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00397">397</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a628a1e9614bcb4d0916dd7869877807d"></a><!-- doxytag: member="boost::xint::integer::operator&#45;&#45;" ref="a628a1e9614bcb4d0916dd7869877807d" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::integer::operator-- </td>
- <td>(</td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Postdecrement operator -- not recommended, inefficient </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00440">440</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa535f200d1d95306aae3d5f991df4e8f"></a><!-- doxytag: member="boost::xint::integer::operator&#45;&#45;" ref="aa535f200d1d95306aae3d5f991df4e8f" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator-- </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-<p>Predecrement operator </p>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00438">438</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a92f8f3cb4e080c43d889103e7606b7ba"></a><!-- doxytag: member="boost::xint::integer::operator&#45;=" ref="a92f8f3cb4e080c43d889103e7606b7ba" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator-= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00407">407</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9e630e1f2cf12d29ad01de9c44dc8e3c"></a><!-- doxytag: member="boost::xint::integer::operator/=" ref="a9e630e1f2cf12d29ad01de9c44dc8e3c" args="(const integer &amp;b)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator/= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>b</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00434">434</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abc90075da0adaef0da2d0083e59af414"></a><!-- doxytag: member="boost::xint::integer::operator&lt;&lt;" ref="abc90075da0adaef0da2d0083e59af414" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::integer::operator&lt;&lt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00442">442</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a33f0a1167639a60ac8ad8ef0f3d3f585"></a><!-- doxytag: member="boost::xint::integer::operator&lt;&lt;=" ref="a33f0a1167639a60ac8ad8ef0f3d3f585" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator&lt;&lt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00448">448</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9ae8cfa93f2e43cf0471266c54b06be2"></a><!-- doxytag: member="boost::xint::integer::operator=" ref="a9ae8cfa93f2e43cf0471266c54b06be2" args="(const integer &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>c</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00417">417</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a22af7cfcb28f97f4c8b78939265b46d6"></a><!-- doxytag: member="boost::xint::integer::operator&gt;&gt;" ref="a22af7cfcb28f97f4c8b78939265b46d6" args="(size_t shift) const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> boost::xint::integer::operator&gt;&gt; </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00443">443</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0ca39c4cb36160461fb9848cc9e7f2d4"></a><!-- doxytag: member="boost::xint::integer::operator&gt;&gt;=" ref="a0ca39c4cb36160461fb9848cc9e7f2d4" args="(size_t shift)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator&gt;&gt;= </td>
- <td>(</td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>shift</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00458">458</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a40fdf2cd80d53e173aa5129fe02289c3"></a><!-- doxytag: member="boost::xint::integer::operator^=" ref="a40fdf2cd80d53e173aa5129fe02289c3" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator^= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00446">446</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1fa48e6c6cefec7ae672156d27e79ec6"></a><!-- doxytag: member="boost::xint::integer::operator|=" ref="a1fa48e6c6cefec7ae672156d27e79ec6" args="(const integer &amp;n)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::operator|= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>n</em></td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00445">445</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aea1bfa7f915f8d2a1e493aedb22bdd12"></a><!-- doxytag: member="boost::xint::integer::sign" ref="aea1bfa7f915f8d2a1e493aedb22bdd12" args="() const " -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int boost::xint::integer::sign </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Tests the sign of <code>*this</code>. </p>
-<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.</dd></dl>
-<dl class="note"><dt><b>Note:</b></dt><dd>If exceptions are blocked, returns zero instead of throwing. </dd></dl>
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00362">362</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c08ebe10f3f6333328b35193edd53d0"></a><!-- doxytag: member="boost::xint::integer::zero" ref="a5c08ebe10f3f6333328b35193edd53d0" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const <a class="el" href="classboost_1_1xint_1_1integer.html">integer</a> &amp; boost::xint::integer::zero </td>
- <td>(</td>
- <td class="paramname"></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [static]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="integer_8cpp_source.html#l00468">468</a> of file <a class="el" href="integer_8cpp_source.html">integer.cpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-<li><a class="el" href="integer_8cpp_source.html">integer.cpp</a></li>
-</ul>
-</div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 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.1 </small></address>
-</body>
-</html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__base-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::invalid_base Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::invalid_base</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__base.html#a73c7125da5b1425c27b9f20aa3845078">invalid_base</a>(const std::string &amp;what=&quot;invalid base&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__base.html">boost::xint::invalid_base</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__base.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::invalid_argument</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00595">595</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00655">655</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a73c7125da5b1425c27b9f20aa3845078"></a><!-- doxytag: member="boost::xint::invalid_base::invalid_base" ref="a73c7125da5b1425c27b9f20aa3845078" args="(const std::string &amp;what=&quot;invalid base&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00597">597</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00657">657</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::invalid_digit Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html#a02be633b5225e22839b547c4b0e8d4ca">invalid_digit</a>(const std::string &amp;what=&quot;invalid digit&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">boost::xint::invalid_digit</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__digit.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::range_error</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00605">605</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00665">665</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a02be633b5225e22839b547c4b0e8d4ca"></a><!-- doxytag: member="boost::xint::invalid_digit::invalid_digit" ref="a02be633b5225e22839b547c4b0e8d4ca" args="(const std::string &amp;what=&quot;invalid digit&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00607">607</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00667">667</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::invalid_modulus Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::invalid_modulus</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html#aab32f87b83c6d8deca7d3ce4e887e03b">invalid_modulus</a>(const std::string &amp;what=&quot;invalid modulus&quot;)</td><td><a class="el" href="classboost_1_1xint_1_1invalid__modulus.html">boost::xint::invalid_modulus</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1invalid__modulus.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::invalid_argument</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00615">615</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00675">675</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="aab32f87b83c6d8deca7d3ce4e887e03b"></a><!-- doxytag: member="boost::xint::invalid_modulus::invalid_modulus" ref="aab32f87b83c6d8deca7d3ce4e887e03b" args="(const std::string &amp;what=&quot;invalid modulus&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00617">617</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00677">677</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::no_strong_random Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1no__strong__random.html">boost::xint::no_strong_random</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1no__strong__random.html#a4c6cd31c06363212c0f1e21ba6718d58">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_1no__strong__random.html">boost::xint::no_strong_random</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1no__strong__random.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -46,7 +44,7 @@
 <dl class="note"><dt><b>Note:</b></dt><dd>Cannot be blocked.</dd></dl>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown by the <a class="el" href="classboost_1_1xint_1_1strong__random__generator.html" title="A convenience class for cryptographically-secure random numbers.">xint::strong_random_generator</a> class's constructor, if the system does not provide a cryptographically-secure random generator. Also thrown if the generator fails when asked to provide a random value, though this should be vanishingly rare. </dd></dl>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00680">680</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00740">740</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a4c6cd31c06363212c0f1e21ba6718d58"></a><!-- doxytag: member="boost::xint::no_strong_random::no_strong_random" ref="a4c6cd31c06363212c0f1e21ba6718d58" args="(const std::string &amp;what=&quot;system does not have a strong random generator&quot;)" -->
 <div class="memitem">
@@ -64,7 +62,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00682">682</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00742">742</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -72,8 +70,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1not__a__number-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::not_a_number Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1not__a__number.html">boost::xint::not_a_number</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1not__a__number.html#a61a42fa00f7424f0e04e1f859fd40632">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_1not__a__number.html">boost::xint::not_a_number</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1not__a__number.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -46,7 +44,7 @@
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Most library functions will throw an <a class="el" href="classboost_1_1xint_1_1not__a__number.html" title="Exception class.">xint::not_a_number</a> exception if you try to use a <a class="el" href="nan.html">Not-a-Number value </a> in them.</dd></dl>
 <dl class="user"><dt><b></b></dt><dd>See this page for details on Not-a-Number. </dd></dl>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00662">662</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00722">722</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a61a42fa00f7424f0e04e1f859fd40632"></a><!-- doxytag: member="boost::xint::not_a_number::not_a_number" ref="a61a42fa00f7424f0e04e1f859fd40632" args="(const std::string &amp;what=&quot;attempted to use a Not&#45;a&#45;Number&quot;)" -->
 <div class="memitem">
@@ -64,7 +62,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00664">664</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00724">724</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -72,8 +70,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1overflow__error-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::overflow_error Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1overflow__error.html">boost::xint::overflow_error</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1overflow__error.html#a6f37c836a5c2083a7be660c0bf1aeb00">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_1overflow__error.html">boost::xint::overflow_error</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1overflow__error.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -45,7 +43,7 @@
 <p>Derived from <code>std::overflow_error</code>.</p>
 <dl class="remark"><dt><b>Remarks:</b></dt><dd>Thrown when the library can't get enough memory to represent a number. </dd></dl>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00694">694</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00754">754</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a6f37c836a5c2083a7be660c0bf1aeb00"></a><!-- doxytag: member="boost::xint::overflow_error::overflow_error" ref="a6f37c836a5c2083a7be660c0bf1aeb00" args="(const std::string &amp;what=&quot;overflow error: can't obtain enough memory to represent the requested number&quot;)" -->
 <div class="memitem">
@@ -63,7 +61,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00696">696</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00756">756</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -71,8 +69,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -39,8 +39,8 @@
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a03606cc093b70870d2661aedccf12c26">strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html#a38abfddb5372dc090429ba1c4132ad9c">~strong_random_generator</a>()</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">boost::xint::strong_random_generator</a></td><td></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1strong__random__generator.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>A convenience class for cryptographically-secure random numbers.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Types</h2></td></tr>
@@ -56,7 +54,7 @@
 <p>Used with <a class="el" href="namespaceboost_1_1xint.html#a201d33fafe577133130cd16dec3422b6" title="Change the random generator that the library uses.">xint::set_random_generator</a> to set the XInt library to use the system-supplied secure random number generator.</p>
 <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="xint_8hpp_source.html#l00339">339</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00602">602</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Member Typedef Documentation</h2>
 <a class="anchor" id="afb7490db5d65e0998290663ab7f5e688"></a><!-- doxytag: member="boost::xint::strong_random_generator::result_type" ref="afb7490db5d65e0998290663ab7f5e688" args="" -->
 <div class="memitem">
@@ -69,7 +67,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00341">341</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00604">604</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -89,7 +87,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00167">167</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00169">169</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -108,7 +106,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00168">168</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00170">170</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -179,7 +177,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="random_8cpp_source.html#l00169">169</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
+<p>Definition at line <a class="el" href="random_8cpp_source.html#l00171">171</a> of file <a class="el" href="random_8cpp_source.html">random.cpp</a>.</p>
 
 </div>
 </div>
@@ -195,7 +193,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00347">347</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00610">610</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -212,7 +210,7 @@
 <b>Initial value:</b><div class="fragment"><pre class="fragment">
     (std::numeric_limits&lt;impl_t::result_type&gt;::max)()
 </pre></div>
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00349">349</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00612">612</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -229,7 +227,7 @@
 <b>Initial value:</b><div class="fragment"><pre class="fragment">
     (std::numeric_limits&lt;impl_t::result_type&gt;::min)()
 </pre></div>
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00348">348</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00611">611</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -238,8 +236,8 @@
 <li><a class="el" href="random_8cpp_source.html">random.cpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1too__big-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,8 +30,8 @@
 <h1>boost::xint::too_big Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1xint_1_1too__big.html">boost::xint::too_big</a>, including all inherited members.<table>
   <tr class="memlist"><td><a class="el" href="classboost_1_1xint_1_1too__big.html#a91ca4f8a23e008c2ffc13608179226f3">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_1too__big.html">boost::xint::too_big</a></td><td><code> [inline]</code></td></tr>
 </table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classboost_1_1xint_1_1too__big.html
==============================================================================
--- sandbox/xint/doc/classboost_1_1xint_1_1too__big.html (original)
+++ sandbox/xint/doc/classboost_1_1xint_1_1too__big.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -33,8 +33,6 @@
 <p>Exception class.
 <a href="#_details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
 <p>List of all members.</p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
@@ -44,7 +42,7 @@
 <p>Exception class. </p>
 <p>Derived from <code>std::range_error</code>. </p>
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00645">645</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00705">705</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" id="a91ca4f8a23e008c2ffc13608179226f3"></a><!-- doxytag: member="boost::xint::too_big::too_big" ref="a91ca4f8a23e008c2ffc13608179226f3" args="(const std::string &amp;what=&quot;value out of range for requested conversion&quot;)" -->
 <div class="memitem">
@@ -62,7 +60,7 @@
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00647">647</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00707">707</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
 
 </div>
 </div>
@@ -70,8 +68,8 @@
 <li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
 </ul>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:01 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Modified: sandbox/xint/doc/classes.html
==============================================================================
--- sandbox/xint/doc/classes.html (original)
+++ sandbox/xint/doc/classes.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
@@ -7,7 +7,7 @@
 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<!-- Generated by Doxygen 1.6.1 -->
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -30,19 +30,19 @@
 <h1>Class Index</h1><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_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_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
 <tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">divide_by_zero</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_1invalid__modulus.html">invalid_modulus</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_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><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></tr><tr><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">invalid_digit</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_1overflow__error.html">overflow_error</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><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></tr><tr><td><a class="el" href="classboost_1_1xint_1_1core_1_1base__integer.html">base_integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1divide__by__zero.html">divide_by_zero</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_1invalid__modulus.html">invalid_modulus</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structboost_1_1xint_1_1detail_1_1base__random__generator.html">base_random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1strong__random__generator.html">strong_random_generator</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classboost_1_1xint_1_1integer.html">integer</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_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html">data_t::QuickDigits</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1cannot__represent.html">cannot_represent</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_1core_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1token.html">token</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t_1_1_quick_digits.html">data_t::QuickDigits</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classboost_1_1xint_1_1blockable_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1blockable.html">boost::xint::blockable</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1no__strong__random.html">no_strong_random</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1token.html">token</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classboost_1_1xint_1_1cannot__represent.html">cannot_represent</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_1core_1_1integer.html">integer</a> (<a class="el" href="namespaceboost_1_1xint_1_1core.html">boost::xint::core</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1not__a__number.html">not_a_number</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1too__big.html">too_big</a> (<a
class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="classboost_1_1xint_1_1invalid__base.html">invalid_base</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structboost_1_1xint_1_1detail_1_1random__generator.html">random_generator</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1too__big.html">too_big</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structboost_1_1xint_1_1detail_1_1data__t.html">data_t</a> (<a class="el" href="namespaceboost_1_1xint_1_1detail.html">boost::xint::detail</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classboost_1_1xint_1_1invalid__digit.html">invalid_digit</a> (<a class="el" href="namespaceboost_1_1xint.html">boost::xint</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_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#lett
er_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
+</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_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_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div>
 </div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Apr 7 03:40:44 2010 for The Extended Integer (XInt) Library by&nbsp;
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Apr 11 10:17:00 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.1 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>

Deleted: sandbox/xint/doc/classxint_1_1cannot__represent-members.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1cannot__represent-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>xint::cannot_represent Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1cannot__represent.html#ae551af601d2ab445a380a9c48e2a1db9">cannot_represent</a>(const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td><td><a class="el" href="classxint_1_1cannot__represent.html">xint::cannot_represent</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Apr 6 01:22:08 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classxint_1_1cannot__represent.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1cannot__represent.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint::cannot_represent Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1cannot__represent.html">cannot_represent</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::cannot_represent Class Reference</h1><!-- doxytag: class="xint::cannot_represent" -->
-<p>Exception class.
-More...</p>
-
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1cannot__represent.html#ae551af601d2ab445a380a9c48e2a1db9">cannot_represent</a> (const std::string &amp;what=&quot;cannot represent the requested value&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00452">452</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="ae551af601d2ab445a380a9c48e2a1db9"></a><!-- doxytag: member="xint::cannot_represent::cannot_represent" ref="ae551af601d2ab445a380a9c48e2a1db9" args="(const std::string &amp;what=&quot;cannot represent the requested value&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::cannot_represent::cannot_represent </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;cannot&nbsp;represent&nbsp;the&nbsp;requested&nbsp;value&quot;</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00454">454</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Apr 6 01:22:08 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classxint_1_1divide__by__zero-members.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1divide__by__zero-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>xint::divide_by_zero Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a>(const std::string &amp;what=&quot;divide by zero error&quot;)</td><td><a class="el" href="classxint_1_1divide__by__zero.html">xint::divide_by_zero</a></td><td><code> [inline]</code></td></tr>
-</table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Apr 6 01:22:08 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classxint_1_1divide__by__zero.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1divide__by__zero.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint::divide_by_zero Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1divide__by__zero.html">divide_by_zero</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::divide_by_zero Class Reference</h1><!-- doxytag: class="xint::divide_by_zero" -->
-<p>Exception class.
-More...</p>
-
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1divide__by__zero.html#a31233d42a45ca6ef7078e700fa114ad2">divide_by_zero</a> (const std::string &amp;what=&quot;divide by zero error&quot;)</td></tr>
-</table>
-<hr/><a name="_details"></a><h2>Detailed Description</h2>
-<p>Exception class. </p>
-<p>Derived from <code>std::invalid_argument</code>. </p>
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00442">442</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-<hr/><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a31233d42a45ca6ef7078e700fa114ad2"></a><!-- doxytag: member="xint::divide_by_zero::divide_by_zero" ref="a31233d42a45ca6ef7078e700fa114ad2" args="(const std::string &amp;what=&quot;divide by zero error&quot;)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">xint::divide_by_zero::divide_by_zero </td>
- <td>(</td>
- <td class="paramtype">const std::string &amp;&nbsp;</td>
- <td class="paramname"> <em>what</em> = <code>&quot;divide&nbsp;by&nbsp;zero&nbsp;error&quot;</code></td>
- <td>&nbsp;)&nbsp;</td>
- <td><code> [inline]</code></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>Definition at line <a class="el" href="xint_8hpp_source.html#l00444">444</a> of file <a class="el" href="xint_8hpp_source.html">xint.hpp</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="xint_8hpp_source.html">xint.hpp</a></li>
-</ul>
-</div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Apr 6 01:22:08 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classxint_1_1integer-members.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1integer-members.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>xint::integer Member List</h1>This is the complete list of members for <a class="el" href="classxint_1_1integer.html">xint::integer</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ae5578d7d5be17df3ecd3ddc5a852d0a0">_get_data</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aff99f7868567ae0dd4666a985873a5a7">_get_data</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a81ab47d2f92ec66ac1586b61d7fd8b60">_get_digit</a>(size_t index) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a33fe6f16dfba7b076f04a5ea40d8dccb">_get_digit</a>(size_t index, bool) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5723a74b98da2d5ed9452a7ec10c0ca2">_get_length</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#adc5c7b5bc30c0cfa30d62610e0bc0366">_make_unique</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ab2f4df250e1030c518180b7e832c5ebd">_set_negative</a>(bool negative)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ad5935c358b92f15064b1f910613f7a3e">_throw_if_nan</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a2ffb63eee276c65d8ea8b365adeb1ee2">even</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a25f066e30e4548bc22e0e9d75b809955">hex_digits</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">integer</a>(const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">integer</a>(const std::string &amp;str, size_t base=10)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a>(const not_a_number &amp;)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [explicit]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0bca68386478755dc787f981d9cd5606">is_nan</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a9237b21f4162146c7b5749b169c081b8">one</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">operator++</a>(int)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">operator--</a>(int)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a>(const integer &amp;b)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a>(size_t shift) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a>(size_t shift)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a>(const integer &amp;c)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a>(size_t shift) const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a>(size_t shift)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a>(const integer &amp;n)</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a5d84398ce89b376f695ccded2d20c8c2">sign</a>() const </td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a64a0f99de7c33239237cb59d8464f3d2">zero</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a>()</td><td><a class="el" href="classxint_1_1integer.html">xint::integer</a></td><td></td></tr>
-</table></div>
-<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Apr 6 01:22:08 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.1 </small></address>
-</body>
-</html>

Deleted: sandbox/xint/doc/classxint_1_1integer.html
==============================================================================
--- sandbox/xint/doc/classxint_1_1integer.html 2010-04-11 10:29:32 EDT (Sun, 11 Apr 2010)
+++ (empty file)
@@ -1,1040 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>The Extended Integer (XInt) Library: xint::integer Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<!-- Generated by Doxygen 1.6.1 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespacexint.html">xint</a>::<a class="el" href="classxint_1_1integer.html">integer</a>
- </div>
-</div>
-<div class="contents">
-<h1>xint::integer Class Reference</h1><!-- doxytag: class="xint::integer" -->
-<p>The extended integer class.
-More...</p>
-
-<p><code>#include &lt;<a class="el" href="xint_8hpp_source.html">xint.hpp</a>&gt;</code></p>
-
-<p>List of all members.</p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Constructors &amp; Destructors</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpab1e74c734dea693114ec1f1cb9434ad"></a> </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#ad32b3b13167c61e48aede083a3e1c7a8">integer</a> ()</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classxint_1_1integer.html" title="The extended integer class.">integer</a> with an initial value of zero. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa123fb47accd778f87e2866c9d986bb7">integer</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of an existing <a class="el" href="classxint_1_1integer.html" title="The extended integer class.">integer</a>. <br/></td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a67db70248d9890990c257a1d069192e3">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_signed&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a0cad684bc9d7032497c7178edb91a5eb">integer</a> (const T &amp;n, typename boost::enable_if&lt; boost::is_integral&lt; T &gt; &gt;::type *=0, typename boost::enable_if&lt; boost::is_unsigned&lt; T &gt; &gt;::type *=0)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a6dfc86dfc539cfda1062ef1bc24aa526">integer</a> (const std::string &amp;str, size_t base=10)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an <a class="el" href="classxint_1_1integer.html" title="The extended integer class.">integer</a> from a string representation. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a1211c9298c3281815bc9b709439d031a">integer</a> (const <a class="el" href="classxint_1_1not__a__number.html">not_a_number</a> &amp;)</td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classxint_1_1integer.html" title="The extended integer class.">integer</a> with the value of Not-a-Number. <br/></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a4f687cc90353b1c347448f1d94fa157e">~integer</a> ()</td></tr>
-<tr><td colspan="2"><div class="groupHeader">Mathematical and Bitwise Operators</div></td></tr>
-<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp8eb1e0f0af70edd858d54ba68b80ce7e"></a>These operate exactly like their counterparts for the built-in integer types.</p>
-<p>Note that there is no <code>operator~</code>. Since the <a class="el" href="classxint_1_1integer.html" title="The extended integer class.">integer</a> type doesn't have a fixed maximum size, there is no logical way to implement it. </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#abfa13a313f2782885bbbfa9a5f4a22c2">operator=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;c)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa0259f75f66b97b68310cfed2c0ecc7b">operator+=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a2ce7f54adccb88836d1474fc67fa9a62">operator-=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a531cdc9ce5667c4553fd1e4dac151b51">operator*=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a3366a33f7ca5ad3285515e260d0dce66">operator/=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#abee8874a961c2bb15a288494e096f36b">operator%=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;b)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a60cd241278892070d14a0d57e45c9264">operator++</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a48452b868e2279e202039c9918f0dcf3">operator--</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a79624fb580bdb2ba19fe13223c801c25">operator++</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a40ff1ffeda1df544b8bcd907f76d93cd">operator--</a> (int)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a0d4c730e3d45d3fa2895b706b202d860">operator&amp;=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a1af418341e64a317b4cc41fcddaa849f">operator|=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#afc13b5ae9c6f28ef5e75777976aeb56d">operator^=</a> (const <a class="el" href="classxint_1_1integer.html">integer</a> &amp;n)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a3733741d7e1c8ba1c1f490c8949a308f">operator&lt;&lt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a5cbc6986de4ca89b49162736f8750986">operator&gt;&gt;</a> (size_t shift) const </td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#a14545146f86ed797e97758d8aea32ecd">operator&lt;&lt;=</a> (size_t shift)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxint_1_1integer.html">integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#aa0151e58a97bc1801221907d68582ec2">operator&gt;&gt;=</a> (size_t shift)</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="amgrpf5be5219a55995e13d6b8d7bf99ed653"></a> </p>
-<br/><br/></div></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxint_1_1integer.html#af2d420708a02755a8851140928e50e23">odd</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests the lowest bit of <code>*this</code> to determine oddness.