diff --git a/boost/ChangeLog b/boost/ChangeLog index d1793574d8..ff219510df 100644 --- a/boost/ChangeLog +++ b/boost/ChangeLog @@ -1,3 +1,11 @@ +2002-08-20 Lars Gullik Bjønnes + + * update boost, we have almost no local changes to the boost files + now. + [But still: Remember that all changes to boost code _must_ go + through me, then I can sync up with my boost tree, and also + request changes on the boost developers list.] + 2002-08-09 Lars Gullik Bjønnes * update boost diff --git a/boost/boost/array_traits.hpp b/boost/boost/array_traits.hpp deleted file mode 100644 index 6c7e43dc59..0000000000 --- a/boost/boost/array_traits.hpp +++ /dev/null @@ -1,163 +0,0 @@ -// -*-C++-*- array_traits.hpp -// -// -// -// -// -// -// -// -// -// -// - -// Author: Dietmar Kuehl dietmar.kuehl@claas-solutions.de -// Title: STL container support, including support for built-in arrays -// Version: $Id: array_traits.hpp,v 1.5 2002/08/09 08:51:50 larsbj Exp $ - -// Dec 4, 2000 Added some more typedefs to array_traits including -// an iterator type to supersede iter_type. -J.Siek - -// -------------------------------------------------------------------------- - -#if !defined(BOOST_ARRAY_TRAITS_HPP) -#define BOOST_ARRAY_TRAITS_HPP 1 - -// -------------------------------------------------------------------------- - -#include -#include - -// -------------------------------------------------------------------------- - -namespace boost -{ - - // --- a general version of container traits ------------------------------ - - template - struct array_traits - { - typedef typename Cont::iterator iterator; - typedef iterator iter_type; // just for backward compatibility - typedef typename Cont::size_type size_type; - typedef typename Cont::value_type value_type; - typedef typename Cont::reference reference; - typedef typename Cont::pointer pointer; - static iterator begin(Cont &cont) { return cont.begin(); } - static iterator end(Cont &cont) { return cont.end(); } - static size_type size(Cont &cont) { return cont.size(); } - }; - - // --- a version of container traits for constant constainer -------------- - - template - struct array_traits - { - typedef typename Cont::const_iterator iterator; - typedef iterator iter_type; // just for backward compatibility - typedef typename Cont::size_type size_type; - typedef typename Cont::value_type value_type; - typedef typename Cont::const_reference reference; - typedef typename Cont::const_pointer pointer; - static iterator begin(Cont const &cont) { return cont.begin(); } - static iterator end(Cont const &cont) { return cont.end(); } - static size_type size(Cont const &cont) { return cont.size(); } - }; - - // --- a special version for non-const built-in arrays -------------------- - - template - struct array_traits - { - typedef T* iterator; - typedef iterator iter_type; // just for backward compatibility - typedef T value_type; - typedef value_type& reference; - typedef std::size_t size_type; - static iterator begin(T (&array)[sz]) { return array; } - static iterator end(T (&array)[sz]) { return array + sz; } - static size_type size(T (&)[sz]) { return sz; } - }; - - // --- a special version for const built-in arrays ------------------------ - - template - struct array_traits - { - typedef T const* iterator; - typedef iterator iter_type; // just for backward compatibility - typedef std::size_t size_type; - typedef T const value_type; - typedef value_type& reference; - typedef value_type* pointer; - static iterator begin(T const (&array)[sz]) { return array; } - static iterator end(T const (&array)[sz]) { return array + sz; } - static size_type size(T const (&)[sz]) { return sz; } - }; - - template - inline char (&sizer(T (&)[sz]))[sz]; - - // --- general version of the global accessor functions --------------------- - - template - inline typename array_traits::iterator - begin(Cont &cont) { return array_traits::begin(cont); } - - template - inline typename array_traits::iterator - end(Cont &cont) { return array_traits::end(cont); } - - template - inline typename array_traits::size_type - size(Cont &cont) { return array_traits::size(cont); } - - // --- Actually the above should be sufficient but compilers seem ----------- - // --- to welcome some help. So here we go: - - template - inline typename array_traits::iterator - begin(T (&a)[sz]) { return array_traits::begin(a); } - - template - inline typename array_traits::iterator - end(T (&a)[sz]) { return array_traits::end(a); } - - template - inline typename array_traits::size_type - size(T (&a)[sz]) { return array_traits::size(a); } - - // --- Apparently the compilers also need some specific help, --------------- - - // --- EDG-2.39 wants to pass around pointers in some contexts -------------- -#ifdef __EDG__ - template - struct array_traits - { - typedef T* iterator; - typedef iterator iter_type; // just for backward compatibility - typedef std::size_t size_type; - }; -#endif - - // --- egcs-1998-11-22 apparently likes an extra const version: ------------- -#ifdef __GNUG__ - template - inline typename array_traits::iterator - begin(T const(&a)[sz]) { return array_traits::begin(a); } - - template - inline typename array_traits::iterator - end(T const(&a)[sz]) { return array_traits::end(a); } - - template - inline typename array_traits::size_type - size(T const (&a)[sz]) { return array_traits::size(a); } -#endif - -} - -// ----------------------------------------------------------------------------- - -#endif /* BOOST_ARRAY_TRAITS_HPP */ diff --git a/boost/boost/config/stdlib/dinkumware.hpp b/boost/boost/config/stdlib/dinkumware.hpp index cdc3c5d22e..3b2cc12e83 100644 --- a/boost/boost/config/stdlib/dinkumware.hpp +++ b/boost/boost/config/stdlib/dinkumware.hpp @@ -30,6 +30,8 @@ # define BOOST_HAS_TWO_ARG_USE_FACET // C lib functions aren't in namespace std either: # define BOOST_NO_STDC_NAMESPACE + // and nor is +# define BOOST_NO_EXCEPTION_STD_NAMESPACE # endif // 3.06 appears to have (non-sgi versions of) & , // and no at all diff --git a/boost/boost/config/stdlib/libcomo.hpp b/boost/boost/config/stdlib/libcomo.hpp new file mode 100644 index 0000000000..e60e0735f5 --- /dev/null +++ b/boost/boost/config/stdlib/libcomo.hpp @@ -0,0 +1,33 @@ +// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and +// distribute this software is granted provided this copyright notice appears +// in all copies. This software is provided "as is" without express or implied +// warranty, and with no claim as to its suitability for any purpose. + +// See http://www.boost.org for most recent version. + +// Commeau STL: + +#if !defined(__LIBCOMO__) +# include +# if !defined(__LIBCOMO__) +# error "This is not the Comeau STL!" +# endif +#endif + +// +// std::streambuf is non-standard: +// +#if __LIBCOMO_VERSION__ <= 22 +# define BOOST_NO_STD_WSTREAMBUF +#endif + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +#define BOOST_STDLIB "Commeau standard library" BOOST_STRINGIZE(__LIBCOMO_VERSION__) + diff --git a/boost/boost/config/stdlib/stlport.hpp b/boost/boost/config/stdlib/stlport.hpp index acea6c1f1d..ccc40bf946 100644 --- a/boost/boost/config/stdlib/stlport.hpp +++ b/boost/boost/config/stdlib/stlport.hpp @@ -64,6 +64,10 @@ # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # define BOOST_NO_STD_ALLOCATOR #endif +// +// however we always have at least a partial allocator: +// +#define BOOST_HAS_PARTIAL_STD_ALLOCATOR #if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) # define BOOST_NO_STD_ALLOCATOR @@ -99,6 +103,7 @@ || defined(_STLP_USE_OWN_NAMESPACE)) \ && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) # define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_EXCEPTION_STD_NAMESPACE # endif #elif __BORLANDC__ < 0x560 // STLport doesn't import std::abs correctly: diff --git a/boost/boost/config/suffix.hpp b/boost/boost/config/suffix.hpp index abffd3b06b..332527f64d 100644 --- a/boost/boost/config/suffix.hpp +++ b/boost/boost/config/suffix.hpp @@ -132,6 +132,13 @@ # define BOOST_NO_STD_ALLOCATOR # endif +// +// If we have a standard allocator, then we have a partial one as well: +// +#if !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + // // We can't have a working std::use_facet if there is no std::locale: // diff --git a/boost/boost/config/user.hpp b/boost/boost/config/user.hpp index 65d22e216f..897d5578a7 100644 --- a/boost/boost/config/user.hpp +++ b/boost/boost/config/user.hpp @@ -70,25 +70,3 @@ #define BOOST_NO_WREGEX 1 #define BOOST_NO_WSTRING 1 -#ifdef BOOST_NO_EXCEPTIONS -// -// If there are no exceptions then we must report critical-errors -// the only way we know how; by terminating. -// -//#ifdef __BORLANDC__ -// seems not to make stderr usable with Borland: -#include -//#endif -# define BOOST_NOEH_ASSERT(x)\ -if(0 == (x))\ -{\ - std::fprintf(stderr, "Error: critical boost failure in \"%s\"", #x);\ - std::abort();\ -} -#else -// -// With exceptions then error handling is taken care of and -// there is no need for these checks: -// -# define BOOST_NOEH_ASSERT(x) -#endif diff --git a/boost/boost/detail/lwm_pthreads.hpp b/boost/boost/detail/lwm_pthreads.hpp index ba8d762826..8ee5550e2e 100644 --- a/boost/boost/detail/lwm_pthreads.hpp +++ b/boost/boost/detail/lwm_pthreads.hpp @@ -37,7 +37,14 @@ public: lightweight_mutex() { + +// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init + +#if defined(__hpux) && defined(_DECTHREADS_) + pthread_mutex_init(&m_, pthread_mutexattr_default); +#else pthread_mutex_init(&m_, 0); +#endif } ~lightweight_mutex() diff --git a/boost/boost/detail/shared_array_nmt.hpp b/boost/boost/detail/shared_array_nmt.hpp index 3ff195457d..8e9b727aa0 100644 --- a/boost/boost/detail/shared_array_nmt.hpp +++ b/boost/boost/detail/shared_array_nmt.hpp @@ -17,11 +17,13 @@ #include #include +#include #include -#include // for std::ptrdiff_t -#include // for std::swap -#include // for std::less +#include // for std::ptrdiff_t +#include // for std::swap +#include // for std::less +#include // for std::bad_alloc namespace boost { @@ -38,22 +40,36 @@ public: explicit shared_array(T * p = 0): px(p) { +#ifndef BOOST_NO_EXCEPTIONS + try // prevent leak if new throws { pn = new count_type(1); } catch(...) { - checked_array_delete(p); + boost::checked_array_delete(p); throw; - } + } + +#else + + pn = new count_type(1); + + if(pn == 0) + { + boost::checked_array_delete(p); + boost::throw_exception(std::bad_alloc()); + } + +#endif } - + ~shared_array() { if(--*pn == 0) { - checked_array_delete(px); + boost::checked_array_delete(px); delete pn; } } @@ -63,19 +79,19 @@ public: pn = r.pn; ++*pn; } - + shared_array & operator=(shared_array const & r) { shared_array(r).swap(*this); return *this; } - + void reset(T * p = 0) { BOOST_ASSERT(p == 0 || p != px); shared_array(p).swap(*this); } - + T * get() const // never throws { return px; @@ -87,7 +103,7 @@ public: BOOST_ASSERT(i >= 0); return px[i]; } - + long use_count() const // never throws { return *pn; @@ -97,15 +113,15 @@ public: { return *pn == 1; } - + void swap(shared_array & other) // never throws { std::swap(px, other.px); std::swap(pn, other.pn); } - + private: - + T * px; // contained pointer count_type * pn; // ptr to reference counter diff --git a/boost/boost/detail/shared_count.hpp b/boost/boost/detail/shared_count.hpp index a3707a1af8..6de061a721 100644 --- a/boost/boost/detail/shared_count.hpp +++ b/boost/boost/detail/shared_count.hpp @@ -23,10 +23,12 @@ #endif #include +#include #include #include // for std::less #include // for std::exception +#include // for std::bad_alloc #ifdef __BORLANDC__ # pragma warn -8026 // Functions with excep. spec. are not expanded inline @@ -36,16 +38,31 @@ namespace boost { +// The standard library that comes with Borland C++ 5.5.1 +// defines std::exception and its members as having C calling +// convention (-pc). When the definition of use_count_is_zero +// is compiled with -ps, the compiler issues an error. +// Hence, the temporary #pragma option -pc below. The version +// check is deliberately conservative. + +#if defined(__BORLANDC__) && __BORLANDC__ == 0x551 +# pragma option push -pc +#endif + class use_count_is_zero: public std::exception { public: virtual char const * what() const throw() { - return "use_count_is_zero"; + return "boost::use_count_is_zero"; } }; +#if defined(__BORLANDC__) && __BORLANDC__ == 0x551 +# pragma option pop +#endif + class counted_base { private: @@ -55,14 +72,14 @@ private: public: counted_base(): - use_count_(0), weak_count_(0) + use_count_(0), weak_count_(0) { } // pre: initial_use_count <= initial_weak_count explicit counted_base(long initial_use_count, long initial_weak_count): - use_count_(initial_use_count), weak_count_(initial_weak_count) + use_count_(initial_use_count), weak_count_(initial_weak_count) { } @@ -87,77 +104,74 @@ public: virtual void destruct() // nothrow { - delete this; + delete this; } void add_ref() { #ifdef BOOST_HAS_THREADS - mutex_type::scoped_lock lock(mtx_); + mutex_type::scoped_lock lock(mtx_); #endif -#ifndef BOOST_NO_EXCEPTIONS - if(use_count_ == 0 && weak_count_ != 0) throw use_count_is_zero(); -#endif - BOOST_NOEH_ASSERT(!(use_count_ == 0 && weak_count_ != 0)); - ++use_count_; - ++weak_count_; + if(use_count_ == 0 && weak_count_ != 0) boost::throw_exception(boost::use_count_is_zero()); + ++use_count_; + ++weak_count_; } void release() // nothrow { - long new_use_count; - long new_weak_count; + long new_use_count; + long new_weak_count; - { + { #ifdef BOOST_HAS_THREADS - mutex_type::scoped_lock lock(mtx_); + mutex_type::scoped_lock lock(mtx_); #endif - new_use_count = --use_count_; - new_weak_count = --weak_count_; - } + new_use_count = --use_count_; + new_weak_count = --weak_count_; + } - if(new_use_count == 0) - { - dispose(); - } + if(new_use_count == 0) + { + dispose(); + } - if(new_weak_count == 0) - { - destruct(); - } + if(new_weak_count == 0) + { + destruct(); + } } void weak_add_ref() // nothrow { #ifdef BOOST_HAS_THREADS - mutex_type::scoped_lock lock(mtx_); + mutex_type::scoped_lock lock(mtx_); #endif - ++weak_count_; + ++weak_count_; } void weak_release() // nothrow { - long new_weak_count; + long new_weak_count; - { + { #ifdef BOOST_HAS_THREADS - mutex_type::scoped_lock lock(mtx_); + mutex_type::scoped_lock lock(mtx_); #endif - new_weak_count = --weak_count_; - } + new_weak_count = --weak_count_; + } - if(new_weak_count == 0) - { - destruct(); - } + if(new_weak_count == 0) + { + destruct(); + } } long use_count() const // nothrow { #ifdef BOOST_HAS_THREADS - mutex_type::scoped_lock lock(mtx_); + mutex_type::scoped_lock lock(mtx_); #endif - return use_count_; + return use_count_; } private: @@ -188,6 +202,13 @@ inline void intrusive_ptr_release(counted_base * p) namespace detail { +// +// Borland's Codeguard trips up over the -Vx- option here: +// +#ifdef __CODEGUARD__ +#pragma option push -Vx- +#endif + template class counted_base_impl: public counted_base { private: @@ -203,13 +224,13 @@ public: // pre: initial_use_count <= initial_weak_count, d(p) must not throw counted_base_impl(P p, D d, long initial_use_count, long initial_weak_count): - counted_base(initial_use_count, initial_weak_count), ptr(p), del(d) + counted_base(initial_use_count, initial_weak_count), ptr(p), del(d) { } virtual void dispose() // nothrow { - del(ptr); + del(ptr); } }; @@ -233,30 +254,39 @@ public: explicit shared_count(counted_base * pi): pi_(pi) // never throws { - pi_->add_ref(); + pi_->add_ref(); } template shared_count(P p, D d, void const * = 0): pi_(0) { #ifndef BOOST_NO_EXCEPTIONS - try - { - pi_ = new counted_base_impl(p, d, 1, 1); - } - catch(...) - { - d(p); // delete p - throw; - } + + try + { + pi_ = new counted_base_impl(p, d, 1, 1); + } + catch(...) + { + d(p); // delete p + throw; + } + #else - pi_ = new counted_base_impl(p, d, 1, 1); - BOOST_NOEH_ASSERT(pi_); + + pi_ = new counted_base_impl(p, d, 1, 1); + + if(pi_ == 0) + { + d(p); // delete p + boost::throw_exception(std::bad_alloc()); + } + #endif } template shared_count(P, D, counted_base * pi): pi_(pi) { - pi_->add_ref(); + pi_->add_ref(); } #ifndef BOOST_NO_AUTO_PTR @@ -266,61 +296,66 @@ public: template explicit shared_count(std::auto_ptr & r): pi_(new counted_base_impl< Y *, checked_deleter >(r.get(), checked_deleter(), 1, 1)) { - r.release(); + r.release(); } -#endif +#endif ~shared_count() // nothrow { - pi_->release(); + pi_->release(); } shared_count(shared_count const & r): pi_(r.pi_) // nothrow { - pi_->add_ref(); + pi_->add_ref(); } explicit shared_count(weak_count const & r); // throws use_count_is_zero when r.use_count() == 0 shared_count & operator= (shared_count const & r) // nothrow { - counted_base * tmp = r.pi_; - tmp->add_ref(); - pi_->release(); - pi_ = tmp; + counted_base * tmp = r.pi_; + tmp->add_ref(); + pi_->release(); + pi_ = tmp; - return *this; + return *this; } void swap(shared_count & r) // nothrow { - counted_base * tmp = r.pi_; - r.pi_ = pi_; - pi_ = tmp; + counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; } long use_count() const // nothrow { - return pi_->use_count(); + return pi_->use_count(); } bool unique() const // nothrow { - return pi_->use_count() == 1; + return pi_->use_count() == 1; } friend inline bool operator==(shared_count const & a, shared_count const & b) { - return a.pi_ == b.pi_; + return a.pi_ == b.pi_; } friend inline bool operator<(shared_count const & a, shared_count const & b) { - return std::less()(a.pi_, b.pi_); + return std::less()(a.pi_, b.pi_); } }; +#ifdef __CODEGUARD__ +#pragma option pop +#endif + + class weak_count { private: @@ -337,59 +372,59 @@ public: weak_count(shared_count const & r): pi_(r.pi_) // nothrow { - pi_->weak_add_ref(); + pi_->weak_add_ref(); } weak_count(weak_count const & r): pi_(r.pi_) // nothrow { - pi_->weak_add_ref(); + pi_->weak_add_ref(); } ~weak_count() // nothrow { - pi_->weak_release(); + pi_->weak_release(); } weak_count & operator= (shared_count const & r) // nothrow { - counted_base * tmp = r.pi_; - tmp->weak_add_ref(); - pi_->weak_release(); - pi_ = tmp; + counted_base * tmp = r.pi_; + tmp->weak_add_ref(); + pi_->weak_release(); + pi_ = tmp; - return *this; + return *this; } weak_count & operator= (weak_count const & r) // nothrow { - counted_base * tmp = r.pi_; - tmp->weak_add_ref(); - pi_->weak_release(); - pi_ = tmp; + counted_base * tmp = r.pi_; + tmp->weak_add_ref(); + pi_->weak_release(); + pi_ = tmp; - return *this; + return *this; } void swap(weak_count & r) // nothrow { - counted_base * tmp = r.pi_; - r.pi_ = pi_; - pi_ = tmp; + counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; } long use_count() const // nothrow { - return pi_->use_count(); + return pi_->use_count(); } friend inline bool operator==(weak_count const & a, weak_count const & b) { - return a.pi_ == b.pi_; + return a.pi_ == b.pi_; } friend inline bool operator<(weak_count const & a, weak_count const & b) { - return std::less()(a.pi_, b.pi_); + return std::less()(a.pi_, b.pi_); } }; diff --git a/boost/boost/detail/shared_ptr_nmt.hpp b/boost/boost/detail/shared_ptr_nmt.hpp index 79d5b5d92d..14fbe6522b 100644 --- a/boost/boost/detail/shared_ptr_nmt.hpp +++ b/boost/boost/detail/shared_ptr_nmt.hpp @@ -17,14 +17,16 @@ #include #include +#include #include #ifndef BOOST_NO_AUTO_PTR -#include // for std::auto_ptr +# include // for std::auto_ptr #endif -#include // for std::swap -#include // for std::less +#include // for std::swap +#include // for std::less +#include // for std::bad_alloc namespace boost { @@ -38,25 +40,40 @@ private: public: typedef T element_type; + typedef T value_type; explicit shared_ptr(T * p = 0): px(p) { +#ifndef BOOST_NO_EXCEPTIONS + try // prevent leak if new throws { pn = new count_type(1); } catch(...) { - checked_delete(p); + boost::checked_delete(p); throw; - } + } + +#else + + pn = new count_type(1); + + if(pn == 0) + { + boost::checked_delete(p); + boost::throw_exception(std::bad_alloc()); + } + +#endif } ~shared_ptr() { if(--*pn == 0) { - checked_delete(px); + boost::checked_delete(px); delete pn; } } diff --git a/boost/boost/function.hpp b/boost/boost/function.hpp index 89fac72902..53cdb1abfc 100644 --- a/boost/boost/function.hpp +++ b/boost/boost/function.hpp @@ -485,7 +485,7 @@ namespace boost { struct get_arg8_type { typedef typename Traits::arg8_type type; - }; + }; template struct get_arg9_type @@ -667,20 +667,20 @@ namespace boost { #endif // ndef BOOST_FUNCTION_NO_DEPRECATED typedef typename decoder::Allocator Allocator; #else - typedef InR R; - typedef InT1 T1; - typedef InT2 T2; - typedef InT3 T3; - typedef InT4 T4; - typedef InT5 T5; - typedef InT6 T6; - typedef InT7 T7; - typedef InT8 T8; - typedef InT9 T9; - typedef InT10 T10; - typedef InPolicy Policy; - typedef InMixin Mixin; - typedef InAllocator Allocator; + typedef InR R; + typedef InT1 T1; + typedef InT2 T2; + typedef InT3 T3; + typedef InT4 T4; + typedef InT5 T5; + typedef InT6 T6; + typedef InT7 T7; + typedef InT8 T8; + typedef InT9 T9; + typedef InT10 T10; + typedef InPolicy Policy; + typedef InMixin Mixin; + typedef InAllocator Allocator; #endif // def BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION typedef typename real_get_function_impl< @@ -855,14 +855,14 @@ namespace boost { #ifndef BOOST_FUNCTION_NO_DEPRECATED template BOOST_FUNCTION_DEPRECATED_PRE - void set(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) + void set(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) { BOOST_FUNCTION_DEPRECATED_INNER self_type(f).swap(*this); } BOOST_FUNCTION_DEPRECATED_PRE - void set(const base_type& f) + void set(const base_type& f) { BOOST_FUNCTION_DEPRECATED_INNER self_type(f).swap(*this); diff --git a/boost/boost/function/function_base.hpp b/boost/boost/function/function_base.hpp index 16d6c96e3a..04e0a6ebac 100644 --- a/boost/boost/function/function_base.hpp +++ b/boost/boost/function/function_base.hpp @@ -1,6 +1,6 @@ // Boost.Function library -// Copyright (C) 2001 Doug Gregor (gregod@cs.rpi.edu) +// Copyright (C) 2001, 2002 Doug Gregor (gregod@cs.rpi.edu) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. @@ -10,7 +10,7 @@ // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. - + // For more information, see http://www.boost.org #ifndef BOOST_FUNCTION_BASE_HEADER @@ -32,12 +32,17 @@ # define BOOST_FUNCTION_TARGET_FIX(x) #endif // not MSVC -#if defined (BOOST_MSVC) && (BOOST_MSVC >= 1300) -# define BOOST_FUNCTION_DEPRECATED_PRE __declspec(deprecated) +#ifdef BOOST_FUNCTION_SILENT_DEPRECATED +# define BOOST_FUNCTION_DEPRECATED_PRE # define BOOST_FUNCTION_DEPRECATED_INNER #else -# define BOOST_FUNCTION_DEPRECATED_PRE -# define BOOST_FUNCTION_DEPRECATED_INNER int deprecated; +# if defined (BOOST_MSVC) && (BOOST_MSVC >= 1300) +# define BOOST_FUNCTION_DEPRECATED_PRE __declspec(deprecated) +# define BOOST_FUNCTION_DEPRECATED_INNER +# else +# define BOOST_FUNCTION_DEPRECATED_PRE +# define BOOST_FUNCTION_DEPRECATED_INNER int deprecated; +# endif #endif namespace boost { @@ -45,20 +50,20 @@ namespace boost { namespace function { /** * A union of a function pointer and a void pointer. This is necessary - * because 5.2.10/6 allows reinterpret_cast<> to safely cast between + * because 5.2.10/6 allows reinterpret_cast<> to safely cast between * function pointer types and 5.2.9/10 allows static_cast<> to safely * cast between a void pointer and an object pointer. But it is not legal * to cast between a function pointer and a void* (in either direction), * so function requires a union of the two. */ - union any_pointer + union any_pointer { - void* obj_ptr; - const void* const_obj_ptr; - void (*func_ptr)(); + void* obj_ptr; + const void* const_obj_ptr; + void (*func_ptr)(); - explicit any_pointer(void* p) : obj_ptr(p) {} - explicit any_pointer(const void* p) : const_obj_ptr(p) {} - explicit any_pointer(void (*p)()) : func_ptr(p) {} + explicit any_pointer(void* p) : obj_ptr(p) {} + explicit any_pointer(const void* p) : const_obj_ptr(p) {} + explicit any_pointer(void (*p)()) : func_ptr(p) {} }; /** @@ -67,28 +72,28 @@ namespace boost { * anything. This helps compilers without partial specialization to * handle Boost.Function objects returning void. */ - struct unusable + struct unusable { - unusable() {} - template unusable(const T&) {} + unusable() {} + template unusable(const T&) {} }; /* Determine the return type. This supports compilers that do not support * void returns or partial specialization by silently changing the return - * type to "unusable". + * type to "unusable". */ template struct function_return_type { typedef T type; }; - template<> - struct function_return_type + template<> + struct function_return_type { - typedef unusable type; + typedef unusable type; }; // The operation type to perform on the given functor/function pointer - enum functor_manager_operation_type { - clone_functor_tag, - destroy_functor_tag + enum functor_manager_operation_type { + clone_functor_tag, + destroy_functor_tag }; // Tags used to decide between different types of functions @@ -101,155 +106,155 @@ namespace boost { template class get_function_tag { - typedef typename ct_if<(is_pointer::value), - function_ptr_tag, - function_obj_tag>::type ptr_or_obj_tag; + typedef typename ct_if<(is_pointer::value), + function_ptr_tag, + function_obj_tag>::type ptr_or_obj_tag; - typedef typename ct_if<(is_member_pointer::value), - member_ptr_tag, - ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag; + typedef typename ct_if<(is_member_pointer::value), + member_ptr_tag, + ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag; - typedef typename ct_if<(is_reference_wrapper::value), - function_obj_ref_tag, - ptr_or_obj_or_mem_tag>::type or_ref_tag; + typedef typename ct_if<(is_reference_wrapper::value), + function_obj_ref_tag, + ptr_or_obj_or_mem_tag>::type or_ref_tag; public: - typedef typename ct_if<(is_stateless::value), - stateless_function_obj_tag, - or_ref_tag>::type type; + typedef typename ct_if<(is_stateless::value), + stateless_function_obj_tag, + or_ref_tag>::type type; }; // The trivial manager does nothing but return the same pointer (if we // are cloning) or return the null pointer (if we are deleting). - inline any_pointer trivial_manager(any_pointer f, - functor_manager_operation_type op) + inline any_pointer trivial_manager(any_pointer f, + functor_manager_operation_type op) { - if (op == clone_functor_tag) - return f; - else - return any_pointer(reinterpret_cast(0)); + if (op == clone_functor_tag) + return f; + else + return any_pointer(reinterpret_cast(0)); } /** * The functor_manager class contains a static function "manage" which - * can clone or destroy the given function/function object pointer. + * can clone or destroy the given function/function object pointer. */ template struct functor_manager { private: - typedef Functor functor_type; + typedef Functor functor_type; - // For function pointers, the manager is trivial - static inline any_pointer - manager(any_pointer function_ptr, - functor_manager_operation_type op, - function_ptr_tag) - { - if (op == clone_functor_tag) - return function_ptr; - else - return any_pointer(static_cast(0)); - } + // For function pointers, the manager is trivial + static inline any_pointer + manager(any_pointer function_ptr, + functor_manager_operation_type op, + function_ptr_tag) + { + if (op == clone_functor_tag) + return function_ptr; + else + return any_pointer(static_cast(0)); + } - // For function object pointers, we clone the pointer to each - // function has its own version. - static inline any_pointer - manager(any_pointer function_obj_ptr, - functor_manager_operation_type op, - function_obj_tag) - { + // For function object pointers, we clone the pointer to each + // function has its own version. + static inline any_pointer + manager(any_pointer function_obj_ptr, + functor_manager_operation_type op, + function_obj_tag) + { #ifndef BOOST_NO_STD_ALLOCATOR - typedef typename Allocator::template rebind::other - allocator_type; - typedef typename allocator_type::pointer pointer_type; + typedef typename Allocator::template rebind::other + allocator_type; + typedef typename allocator_type::pointer pointer_type; #else - typedef functor_type* pointer_type; + typedef functor_type* pointer_type; #endif // BOOST_NO_STD_ALLOCATOR # ifndef BOOST_NO_STD_ALLOCATOR - allocator_type allocator; + allocator_type allocator; # endif // BOOST_NO_STD_ALLOCATOR - if (op == clone_functor_tag) { - functor_type* f = - static_cast(function_obj_ptr.obj_ptr); + if (op == clone_functor_tag) { + functor_type* f = + static_cast(function_obj_ptr.obj_ptr); - // Clone the functor + // Clone the functor # ifndef BOOST_NO_STD_ALLOCATOR - pointer_type copy = allocator.allocate(1); - allocator.construct(copy, *f); + pointer_type copy = allocator.allocate(1); + allocator.construct(copy, *f); - // Get back to the original pointer type - functor_type* new_f = static_cast(copy); + // Get back to the original pointer type + functor_type* new_f = static_cast(copy); # else - functor_type* new_f = new functor_type(*f); + functor_type* new_f = new functor_type(*f); # endif // BOOST_NO_STD_ALLOCATOR - return any_pointer(static_cast(new_f)); - } - else { - /* Cast from the void pointer to the functor pointer type */ - functor_type* f = - reinterpret_cast(function_obj_ptr.obj_ptr); + return any_pointer(static_cast(new_f)); + } + else { + /* Cast from the void pointer to the functor pointer type */ + functor_type* f = + reinterpret_cast(function_obj_ptr.obj_ptr); # ifndef BOOST_NO_STD_ALLOCATOR - /* Cast from the functor pointer type to the allocator's pointer - type */ - pointer_type victim = static_cast(f); + /* Cast from the functor pointer type to the allocator's pointer + type */ + pointer_type victim = static_cast(f); - // Destroy and deallocate the functor - allocator.destroy(victim); - allocator.deallocate(victim, 1); + // Destroy and deallocate the functor + allocator.destroy(victim); + allocator.deallocate(victim, 1); # else - delete f; + delete f; # endif // BOOST_NO_STD_ALLOCATOR - return any_pointer(static_cast(0)); - } - } + return any_pointer(static_cast(0)); + } + } public: - /* Dispatch to an appropriate manager based on whether we have a - function pointer or a function object pointer. */ - static any_pointer - manage(any_pointer functor_ptr, functor_manager_operation_type op) - { - typedef typename get_function_tag::type tag_type; - return manager(functor_ptr, op, tag_type()); - } + /* Dispatch to an appropriate manager based on whether we have a + function pointer or a function object pointer. */ + static any_pointer + manage(any_pointer functor_ptr, functor_manager_operation_type op) + { + typedef typename get_function_tag::type tag_type; + return manager(functor_ptr, op, tag_type()); + } }; // value=1 if the given type is not "unusable" template struct count_if_used { - BOOST_STATIC_CONSTANT(int, value = 1); + BOOST_STATIC_CONSTANT(int, value = 1); }; - + // value=0 for unusable types template<> struct count_if_used { - BOOST_STATIC_CONSTANT(int, value = 0); + BOOST_STATIC_CONSTANT(int, value = 0); }; - - // Count the number of arguments (from the given set) which are not + + // Count the number of arguments (from the given set) which are not // "unusable" (therefore, count those arguments that are used). - template + template struct count_used_args { - BOOST_STATIC_CONSTANT(int, value = - (count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value + - count_if_used::value)); + BOOST_STATIC_CONSTANT(int, value = + (count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value + + count_if_used::value)); }; } // end namespace function } // end namespace detail @@ -258,20 +263,20 @@ namespace boost { * The function_base class contains the basic elements needed for the * function1, function2, function3, etc. classes. It is common to all * functions (and as such can be used to tell if we have one of the - * functionN objects). + * functionN objects). */ - class function_base + class function_base { public: function_base() : manager(0), functor(static_cast(0)) {} - + // Is this function empty? bool empty() const { return !manager; } - + public: // should be protected, but GCC 2.95.3 will fail to allow access detail::function::any_pointer (*manager)( - detail::function::any_pointer, - detail::function::functor_manager_operation_type); + detail::function::any_pointer, + detail::function::functor_manager_operation_type); detail::function::any_pointer functor; #if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG) @@ -286,7 +291,7 @@ namespace boost { typedef void (dummy::*safe_bool)(); public: - operator safe_bool () const + operator safe_bool () const { return (this->empty())? 0 : &dummy::nonnull; } safe_bool operator!() const @@ -294,7 +299,7 @@ namespace boost { #endif }; - /* Poison comparison between Boost.Function objects (because it is + /* Poison comparison between Boost.Function objects (because it is * meaningless). The comparisons would otherwise be allowed because of the * conversion required to allow syntax such as: * boost::function f; @@ -307,12 +312,12 @@ namespace boost { namespace function { inline bool has_empty_target(const function_base* f) { - return f->empty(); + return f->empty(); } inline bool has_empty_target(...) { - return false; + return false; } } // end namespace function } // end namespace detail @@ -327,14 +332,14 @@ namespace boost { // The default function mixin does nothing. The assignment and // copy-construction operators are all defined because MSVC defines broken // versions. - struct empty_function_mixin + struct empty_function_mixin { empty_function_mixin() {} empty_function_mixin(const empty_function_mixin&) {} - empty_function_mixin& operator=(const empty_function_mixin&) + empty_function_mixin& operator=(const empty_function_mixin&) { - return *this; + return *this; } }; } diff --git a/boost/boost/function/function_template.hpp b/boost/boost/function/function_template.hpp index 9683b4d76b..c2ff200425 100644 --- a/boost/boost/function/function_template.hpp +++ b/boost/boost/function/function_template.hpp @@ -14,7 +14,7 @@ // For more information, see http://www.boost.org // Note: this header is a header template and must NOT have multiple-inclusion -// protection. +// protection. #ifndef BOOST_FUNCTION_FUNCTION_TEMPLATE_HPP #define BOOST_FUNCTION_FUNCTION_TEMPLATE_HPP @@ -34,7 +34,7 @@ // Comma if nonzero number of arguments #if BOOST_FUNCTION_NUM_ARGS == 0 -# define BOOST_FUNCTION_COMMA +# define BOOST_FUNCTION_COMMA #else # define BOOST_FUNCTION_COMMA , #endif // BOOST_FUNCTION_NUM_ARGS > 0 @@ -44,7 +44,7 @@ #define BOOST_FUNCTION_FUNCTION_INVOKER \ BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS) #define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \ - BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS) + BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS) #define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \ BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) #define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \ @@ -64,163 +64,163 @@ namespace boost { namespace detail { namespace function { template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > struct BOOST_FUNCTION_FUNCTION_INVOKER { - static R invoke(any_pointer function_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - { - FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); - return f(BOOST_FUNCTION_ARGS); - } + static R invoke(any_pointer function_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + { + FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); + return f(BOOST_FUNCTION_ARGS); + } }; template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER { - static unusable invoke(any_pointer function_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) + static unusable invoke(any_pointer function_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) - { - FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); - f(BOOST_FUNCTION_ARGS); - return unusable(); - } + { + FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); + f(BOOST_FUNCTION_ARGS); + return unusable(); + } }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER { - static R invoke(any_pointer function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) + static R invoke(any_pointer function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) - { - FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr); - return (*f)(BOOST_FUNCTION_ARGS); - } + { + FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr); + return (*f)(BOOST_FUNCTION_ARGS); + } }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER { - static unusable invoke(any_pointer function_obj_ptr - BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) + static unusable invoke(any_pointer function_obj_ptr + BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) - { - FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr); - (*f)(BOOST_FUNCTION_ARGS); - return unusable(); - } + { + FunctionObj* f = (FunctionObj*)(function_obj_ptr.obj_ptr); + (*f)(BOOST_FUNCTION_ARGS); + return unusable(); + } }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER { - static R invoke(any_pointer BOOST_FUNCTION_COMMA BOOST_FUNCTION_PARMS) - { - FunctionObj f = FunctionObj(); - return f(BOOST_FUNCTION_ARGS); - } + static R invoke(any_pointer BOOST_FUNCTION_COMMA BOOST_FUNCTION_PARMS) + { + FunctionObj f = FunctionObj(); + return f(BOOST_FUNCTION_ARGS); + } }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER { - static unusable invoke(any_pointer BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) + static unusable invoke(any_pointer BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) - { - FunctionObj f = FunctionObj(); - f(BOOST_FUNCTION_ARGS); - return unusable(); - } + { + FunctionObj f = FunctionObj(); + f(BOOST_FUNCTION_ARGS); + return unusable(); + } }; template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_GET_FUNCTION_INVOKER { - typedef typename ct_if<(is_void::value), - BOOST_FUNCTION_VOID_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; + typedef typename ct_if<(is_void::value), + BOOST_FUNCTION_VOID_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER { - typedef typename ct_if<(is_void::value), - BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; + typedef typename ct_if<(is_void::value), + BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; }; template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS > struct BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER { - typedef typename ct_if<(is_void::value), - BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; + typedef typename ct_if<(is_void::value), + BOOST_FUNCTION_STATELESS_VOID_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_STATELESS_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; }; } // end namespace function @@ -240,12 +240,12 @@ namespace boost { , public Mixin #endif // ndef BOOST_FUNCTION_NO_DEPRECATED { - typedef typename detail::function::function_return_type::type + typedef typename detail::function::function_return_type::type internal_result_type; public: BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS); - + #if BOOST_FUNCTION_NUM_ARGS == 1 typedef T0 argument_type; #elif BOOST_FUNCTION_NUM_ARGS == 2 @@ -272,7 +272,7 @@ namespace boost { , invoker(0) {} #ifndef BOOST_FUNCTION_NO_DEPRECATED - explicit BOOST_FUNCTION_FUNCTION(const Mixin& m) : + explicit BOOST_FUNCTION_FUNCTION(const Mixin& m) : function_base(), Mixin(m), invoker(0) @@ -325,9 +325,9 @@ namespace boost { policy.precall(this); #endif // ndef BOOST_FUNCTION_NO_DEPRECATED - internal_result_type result = invoker(function_base::functor - BOOST_FUNCTION_COMMA - BOOST_FUNCTION_ARGS); + internal_result_type result = invoker(function_base::functor + BOOST_FUNCTION_COMMA + BOOST_FUNCTION_ARGS); #ifndef BOOST_FUNCTION_NO_DEPRECATED policy.postcall(this); @@ -343,10 +343,10 @@ namespace boost { // The distinction between when to use BOOST_FUNCTION_FUNCTION and // when to use self_type is obnoxious. MSVC cannot handle self_type as // the return type of these assignment operators, but Borland C++ cannot - // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to + // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to // construct. template - BOOST_FUNCTION_FUNCTION& + BOOST_FUNCTION_FUNCTION& operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) { #ifndef BOOST_FUNCTION_NO_DEPRECATED @@ -371,7 +371,7 @@ namespace boost { BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f) { if (&f == this) - return *this; + return *this; self_type(f).swap(*this); return *this; @@ -384,7 +384,7 @@ namespace boost { { BOOST_FUNCTION_DEPRECATED_INNER if (&f == this) - return; + return; self_type(f).swap(*this); } @@ -393,7 +393,7 @@ namespace boost { void swap(BOOST_FUNCTION_FUNCTION& other) { if (&other == this) - return; + return; std::swap(function_base::manager, other.manager); std::swap(function_base::functor, other.functor); @@ -407,9 +407,9 @@ namespace boost { void clear() { if (function_base::manager) { - function_base::functor = - function_base::manager(function_base::functor, - detail::function::destroy_functor_tag); + function_base::functor = + function_base::manager(function_base::functor, + detail::function::destroy_functor_tag); } function_base::manager = 0; @@ -420,11 +420,11 @@ namespace boost { void assign_to_own(const BOOST_FUNCTION_FUNCTION& f) { if (!f.empty()) { - invoker = f.invoker; - function_base::manager = f.manager; - function_base::functor = - f.manager(f.functor, detail::function::clone_functor_tag); - } + invoker = f.invoker; + function_base::manager = f.manager; + function_base::functor = + f.manager(f.functor, detail::function::clone_functor_tag); + } } template @@ -438,27 +438,27 @@ namespace boost { void assign_to(FunctionPtr f, detail::function::function_ptr_tag) { clear(); - + if (f) { - typedef typename detail::function::BOOST_FUNCTION_GET_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - invoker = &invoker_type::invoke; - function_base::manager = - &detail::function::functor_manager::manage; - function_base::functor = - function_base::manager(detail::function::any_pointer( - // should be a reinterpret cast, but some compilers - // insist on giving cv-qualifiers to free functions - (void (*)())(f) - ), - detail::function::clone_functor_tag); + typedef typename detail::function::BOOST_FUNCTION_GET_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + invoker = &invoker_type::invoke; + function_base::manager = + &detail::function::functor_manager::manage; + function_base::functor = + function_base::manager(detail::function::any_pointer( + // should be a reinterpret cast, but some compilers + // insist on giving cv-qualifiers to free functions + (void (*)())(f) + ), + detail::function::clone_functor_tag); } - } + } #if BOOST_FUNCTION_NUM_ARGS > 0 template @@ -467,83 +467,83 @@ namespace boost { this->assign_to(mem_fn(f)); } #endif // BOOST_FUNCTION_NUM_ARGS > 0 - + template void assign_to(FunctionObj f, detail::function::function_obj_tag) { if (!detail::function::has_empty_target(addressof(f))) { - typedef - typename detail::function::BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - invoker = &invoker_type::invoke; - function_base::manager = &detail::function::functor_manager< - FunctionObj, Allocator>::manage; + typedef + typename detail::function::BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + invoker = &invoker_type::invoke; + function_base::manager = &detail::function::functor_manager< + FunctionObj, Allocator>::manage; #ifndef BOOST_NO_STD_ALLOCATOR - typedef typename Allocator::template rebind::other - allocator_type; - typedef typename allocator_type::pointer pointer_type; - allocator_type allocator; - pointer_type copy = allocator.allocate(1); - allocator.construct(copy, f); + typedef typename Allocator::template rebind::other + allocator_type; + typedef typename allocator_type::pointer pointer_type; + allocator_type allocator; + pointer_type copy = allocator.allocate(1); + allocator.construct(copy, f); - // Get back to the original pointer type - FunctionObj* new_f = static_cast(copy); + // Get back to the original pointer type + FunctionObj* new_f = static_cast(copy); #else - FunctionObj* new_f = new FunctionObj(f); + FunctionObj* new_f = new FunctionObj(f); #endif // BOOST_NO_STD_ALLOCATOR - function_base::functor = - detail::function::any_pointer(static_cast(new_f)); + function_base::functor = + detail::function::any_pointer(static_cast(new_f)); } } - + template - void assign_to(const reference_wrapper& f, - detail::function::function_obj_ref_tag) + void assign_to(const reference_wrapper& f, + detail::function::function_obj_ref_tag) { if (!detail::function::has_empty_target(f.get_pointer())) { - typedef - typename detail::function::BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - invoker = &invoker_type::invoke; - function_base::manager = &detail::function::trivial_manager; - function_base::functor = - function_base::manager( - detail::function::any_pointer( - const_cast(f.get_pointer())), - detail::function::clone_functor_tag); + typedef + typename detail::function::BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + invoker = &invoker_type::invoke; + function_base::manager = &detail::function::trivial_manager; + function_base::functor = + function_base::manager( + detail::function::any_pointer( + const_cast(f.get_pointer())), + detail::function::clone_functor_tag); } } - + template void assign_to(FunctionObj, detail::function::stateless_function_obj_tag) { - typedef - typename detail::function:: - BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; + typedef + typename detail::function:: + BOOST_FUNCTION_GET_STATELESS_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; invoker = &invoker_type::invoke; function_base::manager = &detail::function::trivial_manager; function_base::functor = detail::function::any_pointer(this); } typedef internal_result_type (*invoker_type)(detail::function::any_pointer - BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS); - + BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS); + invoker_type invoker; }; @@ -553,23 +553,23 @@ namespace boost { #endif // ndef BOOST_FUNCTION_NO_DEPRECATED typename Allocator> inline void swap(BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS , + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS , #ifndef BOOST_FUNCTION_NO_DEPRECATED - Policy, - Mixin, + Policy, + Mixin, #endif // ndef BOOST_FUNCTION_NO_DEPRECATED - Allocator - >& f1, - BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS, + Allocator + >& f1, + BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS, #ifndef BOOST_FUNCTION_NO_DEPRECATED - Policy, - Mixin, + Policy, + Mixin, #endif // ndef BOOST_FUNCTION_NO_DEPRECATED - Allocator - >& f2) + Allocator + >& f2) { f1.swap(f2); } diff --git a/boost/boost/multi_array/iterator_adaptors.hpp b/boost/boost/multi_array/iterator_adaptors.hpp index 612e36c523..ec78ef16af 100644 --- a/boost/boost/multi_array/iterator_adaptors.hpp +++ b/boost/boost/multi_array/iterator_adaptors.hpp @@ -305,8 +305,8 @@ namespace detail { >::type type; }; +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_STD_ITERATOR_TRAITS) -# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // Select default pointer and reference types for adapted non-pointer // iterators based on the iterator and the value_type. Poor man's partial @@ -781,7 +781,7 @@ struct iterator_adaptor : #if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__BORLANDC__) // This is required to prevent a bug in how VC++ generates - // the assignment operator for compressed_pairv + // the assignment operator for compressed_pair iterator_adaptor& operator= (const iterator_adaptor& x) { m_iter_p = x.m_iter_p; return *this; diff --git a/boost/boost/preprocessor/array.hpp b/boost/boost/preprocessor/array.hpp new file mode 100644 index 0000000000..7daa289ffe --- /dev/null +++ b/boost/boost/preprocessor/array.hpp @@ -0,0 +1,43 @@ +# ifndef BOOST_PREPROCESSOR_ARRAY_HPP +# define BOOST_PREPROCESSOR_ARRAY_HPP +# +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, * +# * modify, sell, and distribute this software is granted provided * +# * this copyright notice appears in all copies. This software is * +# * provided "as is" without express or implied warranty, and with * +# * no claim at to its suitability for any purpose. * +# * * +# ************************************************************************** */ +# +# include +# +# define BOOST_PP_ARRAY(size, data) (size, data) +# +# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 +# define BOOST_PP_ARRAY_SIZE(arr) BOOST_PP_ARRAY_SIZE_I arr +# else +# define BOOST_PP_ARRAY_SIZE(arr) BOOST_PP_ARRAY_SIZE_D(arr) +# define BOOST_PP_ARRAY_SIZE_D(arr) BOOST_PP_ARRAY_SIZE_I ## arr +# endif +# +# define BOOST_PP_ARRAY_SIZE_I(size, data) size +# +# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 +# define BOOST_PP_ARRAY_DATA(arr) BOOST_PP_ARRAY_DATA_I arr +# else +# define BOOST_PP_ARRAY_DATA(arr) BOOST_PP_ARRAY_DATA_D(arr) +# define BOOST_PP_ARRAY_DATA_D(arr) BOOST_PP_ARRAY_DATA_I ## arr +# endif +# +# define BOOST_PP_ARRAY_DATA_I(size, data) data +# +# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 +# define BOOST_PP_ARRAY_ELEM(i, arr) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE_I arr, i, BOOST_PP_ARRAY_DATA_I arr) +# else +# define BOOST_PP_ARRAY_ELEM(i, arr) BOOST_PP_ARRAY_ELEM_D(i, arr) +# define BOOST_PP_ARRAY_ELEM_D(i, arr) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(arr), i, BOOST_PP_ARRAY_DATA(arr)) +# endif +# +# endif diff --git a/boost/boost/preprocessor/detail/auto_rec.hpp b/boost/boost/preprocessor/detail/auto_rec.hpp new file mode 100644 index 0000000000..c82dc1a3d1 --- /dev/null +++ b/boost/boost/preprocessor/detail/auto_rec.hpp @@ -0,0 +1,53 @@ +#ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +#define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP + +/* Copyright (C) 2002 Vesa Karvonen + * + * Permission to copy, use, modify, sell and distribute this software is + * granted provided this copyright notice appears in all copies. This + * software is provided "as is" without express or implied warranty, and + * with no claim as to its suitability for any purpose. + * + * Based on an original idea by Paul Mensonides this header defines macros + * for the definition of automatically recursive macros. + * + * See http://www.boost.org for most recent version. + */ + +/* Identity macro for auto rec support. */ +#define BOOST_PP_AUTO_REC_ID(X) X + +/* Catenation macros for auto rec support. */ +#define BOOST_PP_AUTO_REC_CAT0(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT0(X,Y) +#define BOOST_PP_AUTO_REC_CAT1(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT1(X,Y) +#define BOOST_PP_AUTO_REC_CAT2(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT2(X,Y) +#define BOOST_PP_AUTO_REC_CAT3(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT3(X,Y) +#define BOOST_PP_AUTO_REC_CAT4(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT4(X,Y) +#define BOOST_PP_AUTO_REC_CAT5(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT5(X,Y) +#define BOOST_PP_AUTO_REC_CAT6(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT6(X,Y) +#define BOOST_PP_AUTO_REC_CAT7(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT7(X,Y) +#define BOOST_PP_AUTO_REC_CAT8(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT8(X,Y) +#define BOOST_PP_AUTO_REC_CAT9(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT9(X,Y) + +#define BOOST_PP_AUTO_REC_DELAY_CAT0(X,Y) BOOST_PP_AUTO_REC_DO_CAT0(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT1(X,Y) BOOST_PP_AUTO_REC_DO_CAT1(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT2(X,Y) BOOST_PP_AUTO_REC_DO_CAT2(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT3(X,Y) BOOST_PP_AUTO_REC_DO_CAT3(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT4(X,Y) BOOST_PP_AUTO_REC_DO_CAT4(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT5(X,Y) BOOST_PP_AUTO_REC_DO_CAT5(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT6(X,Y) BOOST_PP_AUTO_REC_DO_CAT6(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT7(X,Y) BOOST_PP_AUTO_REC_DO_CAT7(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT8(X,Y) BOOST_PP_AUTO_REC_DO_CAT8(X,Y) +#define BOOST_PP_AUTO_REC_DELAY_CAT9(X,Y) BOOST_PP_AUTO_REC_DO_CAT9(X,Y) + +#define BOOST_PP_AUTO_REC_DO_CAT0(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT1(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT2(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT3(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT4(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT5(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT6(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT7(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT8(X,Y) X##Y +#define BOOST_PP_AUTO_REC_DO_CAT9(X,Y) X##Y +#endif diff --git a/boost/boost/preprocessor/detail/expand.hpp b/boost/boost/preprocessor/detail/expand.hpp index 08b793906e..958b9e062b 100644 --- a/boost/boost/preprocessor/detail/expand.hpp +++ b/boost/boost/preprocessor/detail/expand.hpp @@ -12,7 +12,7 @@ */ # define BOOST_PP_DETAIL_EXPAND(X) X -# if !defined(__MWERKS__) || __MWERKS__ > 0x3001 +# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 # define BOOST_PP_DETAIL_EXPAND2(X,Y) BOOST_PP_DETAIL_EXPAND(X Y) # else # define BOOST_PP_DETAIL_EXPAND2(X, Y) BOOST_PP_DETAIL_EXPAND2_DELAY(X, Y) diff --git a/boost/boost/preprocessor/detail/line.hpp b/boost/boost/preprocessor/detail/line.hpp new file mode 100644 index 0000000000..3e37c7b5f5 --- /dev/null +++ b/boost/boost/preprocessor/detail/line.hpp @@ -0,0 +1,22 @@ +# ifndef BOOST_PREPROCESSOR_DETAIL_LINE_HPP +# define BOOST_PREPROCESSOR_DETAIL_LINE_HPP +# +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, * +# * modify, sell, and distribute this software is granted provided * +# * this copyright notice appears in all copies. This software is * +# * provided "as is" without express or implied warranty, and with * +# * no claim at to its suitability for any purpose. * +# * * +# ************************************************************************** */ +# +# include +# +# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 +# define BOOST_PP_DETAIL_LINE(text) 1 BOOST_PP_STRINGIZE(text) +# else +# define BOOST_PP_DETAIL_LINE(text) 1 +# endif +# +# endif diff --git a/boost/boost/preprocessor/detail/repeat_edg.hpp b/boost/boost/preprocessor/detail/repeat_edg.hpp new file mode 100644 index 0000000000..28b8289bf0 --- /dev/null +++ b/boost/boost/preprocessor/detail/repeat_edg.hpp @@ -0,0 +1,404 @@ +#ifndef BOOST_PREPROCESSOR_REPEAT_EDG_HPP +#define BOOST_PREPROCESSOR_REPEAT_EDG_HPP + +/* Copyright (C) 2002 Vesa Karvonen + * + * Permission to copy, use, modify, sell and distribute this software is + * granted provided this copyright notice appears in all copies. This + * software is provided "as is" without express or implied warranty, and + * with no claim as to its suitability for any purpose. + * + * See http://www.boost.org for most recent version. + */ + +#define BOOST_PP_R1_0(M,D) +#define BOOST_PP_R1_1(M,D) M(0,D) +#define BOOST_PP_R1_2(M,D) M(0,D) M(1,D) +#define BOOST_PP_R1_3(M,D) M(0,D) M(1,D) M(2,D) +#define BOOST_PP_R1_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D) +#define BOOST_PP_R1_5(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) +#define BOOST_PP_R1_6(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) +#define BOOST_PP_R1_7(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) +#define BOOST_PP_R1_8(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) +#define BOOST_PP_R1_9(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) +#define BOOST_PP_R1_10(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) +#define BOOST_PP_R1_11(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) +#define BOOST_PP_R1_12(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) +#define BOOST_PP_R1_13(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) +#define BOOST_PP_R1_14(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) +#define BOOST_PP_R1_15(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) +#define BOOST_PP_R1_16(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) +#define BOOST_PP_R1_17(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) +#define BOOST_PP_R1_18(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) +#define BOOST_PP_R1_19(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) +#define BOOST_PP_R1_20(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) +#define BOOST_PP_R1_21(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) +#define BOOST_PP_R1_22(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) +#define BOOST_PP_R1_23(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) +#define BOOST_PP_R1_24(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) +#define BOOST_PP_R1_25(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) +#define BOOST_PP_R1_26(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) +#define BOOST_PP_R1_27(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) +#define BOOST_PP_R1_28(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) +#define BOOST_PP_R1_29(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) +#define BOOST_PP_R1_30(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) +#define BOOST_PP_R1_31(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) +#define BOOST_PP_R1_32(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) +#define BOOST_PP_R1_33(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) +#define BOOST_PP_R1_34(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) +#define BOOST_PP_R1_35(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) +#define BOOST_PP_R1_36(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) +#define BOOST_PP_R1_37(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) +#define BOOST_PP_R1_38(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) +#define BOOST_PP_R1_39(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) +#define BOOST_PP_R1_40(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) +#define BOOST_PP_R1_41(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) +#define BOOST_PP_R1_42(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) +#define BOOST_PP_R1_43(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) +#define BOOST_PP_R1_44(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) +#define BOOST_PP_R1_45(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) +#define BOOST_PP_R1_46(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) +#define BOOST_PP_R1_47(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) +#define BOOST_PP_R1_48(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) +#define BOOST_PP_R1_49(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) +#define BOOST_PP_R1_50(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) +#define BOOST_PP_R1_51(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) +#define BOOST_PP_R1_52(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) +#define BOOST_PP_R1_53(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) +#define BOOST_PP_R1_54(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) +#define BOOST_PP_R1_55(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) +#define BOOST_PP_R1_56(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) +#define BOOST_PP_R1_57(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) +#define BOOST_PP_R1_58(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) +#define BOOST_PP_R1_59(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) +#define BOOST_PP_R1_60(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) +#define BOOST_PP_R1_61(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) +#define BOOST_PP_R1_62(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) +#define BOOST_PP_R1_63(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) +#define BOOST_PP_R1_64(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) +#define BOOST_PP_R1_65(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) +#define BOOST_PP_R1_66(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) +#define BOOST_PP_R1_67(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) +#define BOOST_PP_R1_68(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) +#define BOOST_PP_R1_69(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) +#define BOOST_PP_R1_70(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) +#define BOOST_PP_R1_71(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) +#define BOOST_PP_R1_72(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) +#define BOOST_PP_R1_73(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) +#define BOOST_PP_R1_74(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) +#define BOOST_PP_R1_75(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) +#define BOOST_PP_R1_76(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) +#define BOOST_PP_R1_77(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) +#define BOOST_PP_R1_78(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) +#define BOOST_PP_R1_79(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) +#define BOOST_PP_R1_80(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) +#define BOOST_PP_R1_81(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) +#define BOOST_PP_R1_82(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) +#define BOOST_PP_R1_83(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) +#define BOOST_PP_R1_84(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) +#define BOOST_PP_R1_85(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) +#define BOOST_PP_R1_86(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) +#define BOOST_PP_R1_87(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) +#define BOOST_PP_R1_88(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) +#define BOOST_PP_R1_89(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) +#define BOOST_PP_R1_90(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) +#define BOOST_PP_R1_91(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) +#define BOOST_PP_R1_92(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) +#define BOOST_PP_R1_93(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) +#define BOOST_PP_R1_94(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) +#define BOOST_PP_R1_95(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) +#define BOOST_PP_R1_96(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) +#define BOOST_PP_R1_97(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) +#define BOOST_PP_R1_98(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) +#define BOOST_PP_R1_99(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) +#define BOOST_PP_R1_100(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) +#define BOOST_PP_R1_101(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) +#define BOOST_PP_R1_102(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) +#define BOOST_PP_R1_103(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) +#define BOOST_PP_R1_104(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) +#define BOOST_PP_R1_105(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) +#define BOOST_PP_R1_106(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) +#define BOOST_PP_R1_107(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) +#define BOOST_PP_R1_108(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) +#define BOOST_PP_R1_109(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) +#define BOOST_PP_R1_110(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) +#define BOOST_PP_R1_111(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) +#define BOOST_PP_R1_112(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) +#define BOOST_PP_R1_113(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) +#define BOOST_PP_R1_114(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) +#define BOOST_PP_R1_115(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) +#define BOOST_PP_R1_116(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) +#define BOOST_PP_R1_117(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) +#define BOOST_PP_R1_118(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) +#define BOOST_PP_R1_119(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) +#define BOOST_PP_R1_120(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) +#define BOOST_PP_R1_121(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) +#define BOOST_PP_R1_122(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) +#define BOOST_PP_R1_123(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) +#define BOOST_PP_R1_124(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) +#define BOOST_PP_R1_125(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) +#define BOOST_PP_R1_126(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) +#define BOOST_PP_R1_127(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) +#define BOOST_PP_R1_128(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) M(127,D) + +#define BOOST_PP_R2_0(M,D) +#define BOOST_PP_R2_1(M,D) M(0,D) +#define BOOST_PP_R2_2(M,D) M(0,D) M(1,D) +#define BOOST_PP_R2_3(M,D) M(0,D) M(1,D) M(2,D) +#define BOOST_PP_R2_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D) +#define BOOST_PP_R2_5(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) +#define BOOST_PP_R2_6(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) +#define BOOST_PP_R2_7(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) +#define BOOST_PP_R2_8(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) +#define BOOST_PP_R2_9(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) +#define BOOST_PP_R2_10(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) +#define BOOST_PP_R2_11(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) +#define BOOST_PP_R2_12(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) +#define BOOST_PP_R2_13(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) +#define BOOST_PP_R2_14(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) +#define BOOST_PP_R2_15(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) +#define BOOST_PP_R2_16(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) +#define BOOST_PP_R2_17(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) +#define BOOST_PP_R2_18(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) +#define BOOST_PP_R2_19(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) +#define BOOST_PP_R2_20(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) +#define BOOST_PP_R2_21(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) +#define BOOST_PP_R2_22(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) +#define BOOST_PP_R2_23(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) +#define BOOST_PP_R2_24(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) +#define BOOST_PP_R2_25(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) +#define BOOST_PP_R2_26(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) +#define BOOST_PP_R2_27(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) +#define BOOST_PP_R2_28(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) +#define BOOST_PP_R2_29(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) +#define BOOST_PP_R2_30(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) +#define BOOST_PP_R2_31(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) +#define BOOST_PP_R2_32(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) +#define BOOST_PP_R2_33(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) +#define BOOST_PP_R2_34(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) +#define BOOST_PP_R2_35(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) +#define BOOST_PP_R2_36(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) +#define BOOST_PP_R2_37(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) +#define BOOST_PP_R2_38(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) +#define BOOST_PP_R2_39(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) +#define BOOST_PP_R2_40(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) +#define BOOST_PP_R2_41(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) +#define BOOST_PP_R2_42(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) +#define BOOST_PP_R2_43(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) +#define BOOST_PP_R2_44(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) +#define BOOST_PP_R2_45(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) +#define BOOST_PP_R2_46(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) +#define BOOST_PP_R2_47(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) +#define BOOST_PP_R2_48(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) +#define BOOST_PP_R2_49(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) +#define BOOST_PP_R2_50(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) +#define BOOST_PP_R2_51(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) +#define BOOST_PP_R2_52(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) +#define BOOST_PP_R2_53(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) +#define BOOST_PP_R2_54(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) +#define BOOST_PP_R2_55(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) +#define BOOST_PP_R2_56(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) +#define BOOST_PP_R2_57(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) +#define BOOST_PP_R2_58(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) +#define BOOST_PP_R2_59(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) +#define BOOST_PP_R2_60(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) +#define BOOST_PP_R2_61(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) +#define BOOST_PP_R2_62(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) +#define BOOST_PP_R2_63(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) +#define BOOST_PP_R2_64(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) +#define BOOST_PP_R2_65(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) +#define BOOST_PP_R2_66(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) +#define BOOST_PP_R2_67(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) +#define BOOST_PP_R2_68(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) +#define BOOST_PP_R2_69(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) +#define BOOST_PP_R2_70(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) +#define BOOST_PP_R2_71(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) +#define BOOST_PP_R2_72(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) +#define BOOST_PP_R2_73(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) +#define BOOST_PP_R2_74(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) +#define BOOST_PP_R2_75(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) +#define BOOST_PP_R2_76(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) +#define BOOST_PP_R2_77(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) +#define BOOST_PP_R2_78(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) +#define BOOST_PP_R2_79(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) +#define BOOST_PP_R2_80(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) +#define BOOST_PP_R2_81(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) +#define BOOST_PP_R2_82(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) +#define BOOST_PP_R2_83(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) +#define BOOST_PP_R2_84(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) +#define BOOST_PP_R2_85(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) +#define BOOST_PP_R2_86(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) +#define BOOST_PP_R2_87(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) +#define BOOST_PP_R2_88(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) +#define BOOST_PP_R2_89(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) +#define BOOST_PP_R2_90(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) +#define BOOST_PP_R2_91(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) +#define BOOST_PP_R2_92(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) +#define BOOST_PP_R2_93(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) +#define BOOST_PP_R2_94(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) +#define BOOST_PP_R2_95(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) +#define BOOST_PP_R2_96(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) +#define BOOST_PP_R2_97(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) +#define BOOST_PP_R2_98(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) +#define BOOST_PP_R2_99(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) +#define BOOST_PP_R2_100(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) +#define BOOST_PP_R2_101(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) +#define BOOST_PP_R2_102(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) +#define BOOST_PP_R2_103(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) +#define BOOST_PP_R2_104(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) +#define BOOST_PP_R2_105(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) +#define BOOST_PP_R2_106(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) +#define BOOST_PP_R2_107(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) +#define BOOST_PP_R2_108(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) +#define BOOST_PP_R2_109(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) +#define BOOST_PP_R2_110(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) +#define BOOST_PP_R2_111(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) +#define BOOST_PP_R2_112(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) +#define BOOST_PP_R2_113(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) +#define BOOST_PP_R2_114(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) +#define BOOST_PP_R2_115(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) +#define BOOST_PP_R2_116(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) +#define BOOST_PP_R2_117(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) +#define BOOST_PP_R2_118(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) +#define BOOST_PP_R2_119(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) +#define BOOST_PP_R2_120(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) +#define BOOST_PP_R2_121(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) +#define BOOST_PP_R2_122(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) +#define BOOST_PP_R2_123(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) +#define BOOST_PP_R2_124(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) +#define BOOST_PP_R2_125(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) +#define BOOST_PP_R2_126(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) +#define BOOST_PP_R2_127(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) +#define BOOST_PP_R2_128(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) M(127,D) + +#define BOOST_PP_R3_0(M,D) +#define BOOST_PP_R3_1(M,D) M(0,D) +#define BOOST_PP_R3_2(M,D) M(0,D) M(1,D) +#define BOOST_PP_R3_3(M,D) M(0,D) M(1,D) M(2,D) +#define BOOST_PP_R3_4(M,D) M(0,D) M(1,D) M(2,D) M(3,D) +#define BOOST_PP_R3_5(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) +#define BOOST_PP_R3_6(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) +#define BOOST_PP_R3_7(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) +#define BOOST_PP_R3_8(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) +#define BOOST_PP_R3_9(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) +#define BOOST_PP_R3_10(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) +#define BOOST_PP_R3_11(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) +#define BOOST_PP_R3_12(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) +#define BOOST_PP_R3_13(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) +#define BOOST_PP_R3_14(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) +#define BOOST_PP_R3_15(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) +#define BOOST_PP_R3_16(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) +#define BOOST_PP_R3_17(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) +#define BOOST_PP_R3_18(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) +#define BOOST_PP_R3_19(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) +#define BOOST_PP_R3_20(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) +#define BOOST_PP_R3_21(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) +#define BOOST_PP_R3_22(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) +#define BOOST_PP_R3_23(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) +#define BOOST_PP_R3_24(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) +#define BOOST_PP_R3_25(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) +#define BOOST_PP_R3_26(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) +#define BOOST_PP_R3_27(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) +#define BOOST_PP_R3_28(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) +#define BOOST_PP_R3_29(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) +#define BOOST_PP_R3_30(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) +#define BOOST_PP_R3_31(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) +#define BOOST_PP_R3_32(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) +#define BOOST_PP_R3_33(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) +#define BOOST_PP_R3_34(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) +#define BOOST_PP_R3_35(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) +#define BOOST_PP_R3_36(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) +#define BOOST_PP_R3_37(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) +#define BOOST_PP_R3_38(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) +#define BOOST_PP_R3_39(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) +#define BOOST_PP_R3_40(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) +#define BOOST_PP_R3_41(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) +#define BOOST_PP_R3_42(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) +#define BOOST_PP_R3_43(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) +#define BOOST_PP_R3_44(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) +#define BOOST_PP_R3_45(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) +#define BOOST_PP_R3_46(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) +#define BOOST_PP_R3_47(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) +#define BOOST_PP_R3_48(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) +#define BOOST_PP_R3_49(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) +#define BOOST_PP_R3_50(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) +#define BOOST_PP_R3_51(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) +#define BOOST_PP_R3_52(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) +#define BOOST_PP_R3_53(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) +#define BOOST_PP_R3_54(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) +#define BOOST_PP_R3_55(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) +#define BOOST_PP_R3_56(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) +#define BOOST_PP_R3_57(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) +#define BOOST_PP_R3_58(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) +#define BOOST_PP_R3_59(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) +#define BOOST_PP_R3_60(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) +#define BOOST_PP_R3_61(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) +#define BOOST_PP_R3_62(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) +#define BOOST_PP_R3_63(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) +#define BOOST_PP_R3_64(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) +#define BOOST_PP_R3_65(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) +#define BOOST_PP_R3_66(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) +#define BOOST_PP_R3_67(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) +#define BOOST_PP_R3_68(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) +#define BOOST_PP_R3_69(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) +#define BOOST_PP_R3_70(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) +#define BOOST_PP_R3_71(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) +#define BOOST_PP_R3_72(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) +#define BOOST_PP_R3_73(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) +#define BOOST_PP_R3_74(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) +#define BOOST_PP_R3_75(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) +#define BOOST_PP_R3_76(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) +#define BOOST_PP_R3_77(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) +#define BOOST_PP_R3_78(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) +#define BOOST_PP_R3_79(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) +#define BOOST_PP_R3_80(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) +#define BOOST_PP_R3_81(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) +#define BOOST_PP_R3_82(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) +#define BOOST_PP_R3_83(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) +#define BOOST_PP_R3_84(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) +#define BOOST_PP_R3_85(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) +#define BOOST_PP_R3_86(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) +#define BOOST_PP_R3_87(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) +#define BOOST_PP_R3_88(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) +#define BOOST_PP_R3_89(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) +#define BOOST_PP_R3_90(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) +#define BOOST_PP_R3_91(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) +#define BOOST_PP_R3_92(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) +#define BOOST_PP_R3_93(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) +#define BOOST_PP_R3_94(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) +#define BOOST_PP_R3_95(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) +#define BOOST_PP_R3_96(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) +#define BOOST_PP_R3_97(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) +#define BOOST_PP_R3_98(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) +#define BOOST_PP_R3_99(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) +#define BOOST_PP_R3_100(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) +#define BOOST_PP_R3_101(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) +#define BOOST_PP_R3_102(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) +#define BOOST_PP_R3_103(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) +#define BOOST_PP_R3_104(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) +#define BOOST_PP_R3_105(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) +#define BOOST_PP_R3_106(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) +#define BOOST_PP_R3_107(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) +#define BOOST_PP_R3_108(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) +#define BOOST_PP_R3_109(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) +#define BOOST_PP_R3_110(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) +#define BOOST_PP_R3_111(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) +#define BOOST_PP_R3_112(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) +#define BOOST_PP_R3_113(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) +#define BOOST_PP_R3_114(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) +#define BOOST_PP_R3_115(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) +#define BOOST_PP_R3_116(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) +#define BOOST_PP_R3_117(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) +#define BOOST_PP_R3_118(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) +#define BOOST_PP_R3_119(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) +#define BOOST_PP_R3_120(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) +#define BOOST_PP_R3_121(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) +#define BOOST_PP_R3_122(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) +#define BOOST_PP_R3_123(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) +#define BOOST_PP_R3_124(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) +#define BOOST_PP_R3_125(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) +#define BOOST_PP_R3_126(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) +#define BOOST_PP_R3_127(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) +#define BOOST_PP_R3_128(M,D) M(0,D) M(1,D) M(2,D) M(3,D) M(4,D) M(5,D) M(6,D) M(7,D) M(8,D) M(9,D) M(10,D) M(11,D) M(12,D) M(13,D) M(14,D) M(15,D) M(16,D) M(17,D) M(18,D) M(19,D) M(20,D) M(21,D) M(22,D) M(23,D) M(24,D) M(25,D) M(26,D) M(27,D) M(28,D) M(29,D) M(30,D) M(31,D) M(32,D) M(33,D) M(34,D) M(35,D) M(36,D) M(37,D) M(38,D) M(39,D) M(40,D) M(41,D) M(42,D) M(43,D) M(44,D) M(45,D) M(46,D) M(47,D) M(48,D) M(49,D) M(50,D) M(51,D) M(52,D) M(53,D) M(54,D) M(55,D) M(56,D) M(57,D) M(58,D) M(59,D) M(60,D) M(61,D) M(62,D) M(63,D) M(64,D) M(65,D) M(66,D) M(67,D) M(68,D) M(69,D) M(70,D) M(71,D) M(72,D) M(73,D) M(74,D) M(75,D) M(76,D) M(77,D) M(78,D) M(79,D) M(80,D) M(81,D) M(82,D) M(83,D) M(84,D) M(85,D) M(86,D) M(87,D) M(88,D) M(89,D) M(90,D) M(91,D) M(92,D) M(93,D) M(94,D) M(95,D) M(96,D) M(97,D) M(98,D) M(99,D) M(100,D) M(101,D) M(102,D) M(103,D) M(104,D) M(105,D) M(106,D) M(107,D) M(108,D) M(109,D) M(110,D) M(111,D) M(112,D) M(113,D) M(114,D) M(115,D) M(116,D) M(117,D) M(118,D) M(119,D) M(120,D) M(121,D) M(122,D) M(123,D) M(124,D) M(125,D) M(126,D) M(127,D) + +#endif diff --git a/boost/boost/preprocessor/iterate.hpp b/boost/boost/preprocessor/iterate.hpp new file mode 100644 index 0000000000..7eaab0a39f --- /dev/null +++ b/boost/boost/preprocessor/iterate.hpp @@ -0,0 +1,77 @@ +# ifndef BOOST_PREPROCESSOR_ITERATE_HPP +# define BOOST_PREPROCESSOR_ITERATE_HPP +# +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, * +# * modify, sell, and distribute this software is granted provided * +# * this copyright notice appears in all copies. This software is * +# * provided "as is" without express or implied warranty, and with * +# * no claim at to its suitability for any purpose. * +# * * +# ************************************************************************** */ +# +# include +# include +# include +# include +# +# include +# +# include +# include +# +# define BOOST_PP_ITERATION_DEPTH_LIMIT 5 +# define BOOST_PP_ITERATION_LIMIT 256 +# +# define BOOST_PP_ITERATION_DEPTH() 0 +# +# define BOOST_PP_ITERATION() BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH()) +# +# define BOOST_PP_ITERATION_START() BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH()) +# define BOOST_PP_ITERATION_FINISH() BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH()) +# +# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_, i) +# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_) +# +# define BOOST_PP_FRAME_START(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_START_, i) +# define BOOST_PP_RELATIVE_START(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_) +# +# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_FINISH_, i) +# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_) +# +# define BOOST_PP_ITERATION_FLAGS() BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH()) +# define BOOST_PP_FRAME_FLAGS(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATION_FLAGS_, i) +# define BOOST_PP_RELATIVE_FLAGS(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_) +# +# define BOOST_PP_RELATIVE_0(m) BOOST_PP_DETAIL_CAT2(m, BOOST_PP_ITERATION_DEPTH()) +# define BOOST_PP_RELATIVE_1(m) BOOST_PP_DETAIL_CAT2(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())) +# define BOOST_PP_RELATIVE_2(m) BOOST_PP_DETAIL_CAT2(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))) +# define BOOST_PP_RELATIVE_3(m) BOOST_PP_DETAIL_CAT2(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))) +# define BOOST_PP_RELATIVE_4(m) BOOST_PP_DETAIL_CAT2(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))) +# +# if defined BOOST_PP_EXTENDED_LINE_INFO && (!defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002) +# define BOOST_PP_LINE(line, file) line BOOST_PP_STRINGIZE(file BOOST_PP_DETAIL_CAT2(BOOST_PP_LINE_, BOOST_PP_ITERATION_DEPTH())) +# else +# define BOOST_PP_LINE(line, file) __LINE__ +# endif +# +# define BOOST_PP_LINE_0() (!BOOST_PP_ERROR_NO_ACTIVE_ITERATION) +# define BOOST_PP_LINE_1() BOOST_PP_DETAIL_CAT3([, BOOST_PP_ITERATION(), ]) +# define BOOST_PP_LINE_2() BOOST_PP_DETAIL_CAT2(BOOST_PP_DETAIL_CAT3([, BOOST_PP_FRAME_ITERATION(1), ]), BOOST_PP_LINE_1()) +# define BOOST_PP_LINE_3() BOOST_PP_DETAIL_CAT2(BOOST_PP_DETAIL_CAT3([, BOOST_PP_FRAME_ITERATION(2), ]), BOOST_PP_LINE_2()) +# define BOOST_PP_LINE_4() BOOST_PP_DETAIL_CAT2(BOOST_PP_DETAIL_CAT3([, BOOST_PP_FRAME_ITERATION(3), ]), BOOST_PP_LINE_3()) +# define BOOST_PP_LINE_5() BOOST_PP_DETAIL_CAT2(BOOST_PP_DETAIL_CAT3([, BOOST_PP_FRAME_ITERATION(4), ]), BOOST_PP_LINE_4()) +# +# define BOOST_PP_ITERATE() BOOST_PP_DETAIL_CAT2(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH())) +# define BOOST_PP_ITERATE_1 +# define BOOST_PP_ITERATE_2 +# define BOOST_PP_ITERATE_3 +# define BOOST_PP_ITERATE_4 +# define BOOST_PP_ITERATE_5 +# +# define BOOST_PP_LOCAL_ITERATE() +# +# define BOOST_PP_INCLUDE_SELF() +# +# endif diff --git a/boost/boost/preprocessor/slot.hpp b/boost/boost/preprocessor/slot.hpp new file mode 100644 index 0000000000..90baccb584 --- /dev/null +++ b/boost/boost/preprocessor/slot.hpp @@ -0,0 +1,97 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, * +# * modify, sell, and distribute this software is granted provided * +# * this copyright notice appears in all copies. This software is * +# * provided "as is" without express or implied warranty, and with * +# * no claim at to its suitability for any purpose. * +# * * +# ************************************************************************** */ +# +# ifndef BOOST_PREPROCESSOR_SLOT_HPP +# define BOOST_PREPROCESSOR_SLOT_HPP +# +# include +# include +# +# define BOOST_PP_SLOT_LIMIT 5 +# define BOOST_PP_SLOT_MAX 4294967295 /* 2^32 - 1 */ +# +# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_ASSIGN_SLOT_, i) +# define BOOST_PP_ASSIGN_SLOT_1 +# define BOOST_PP_ASSIGN_SLOT_2 +# define BOOST_PP_ASSIGN_SLOT_3 +# define BOOST_PP_ASSIGN_SLOT_4 +# define BOOST_PP_ASSIGN_SLOT_5 +# +# define BOOST_PP_SLOT(i) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_, i)() +# +# ifndef BOOST_PP_SLOT_SIG +# define BOOST_PP_SLOT_SIG 10 +# endif +# +# if BOOST_PP_SLOT_SIG >= 10 +# define BOOST_PP_SLOT_10TH(x) (x) % 1000000000UL +# else +# define BOOST_PP_SLOT_10TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 9 +# define BOOST_PP_SLOT_9TH(x) BOOST_PP_SLOT_10TH(x) % 100000000UL +# else +# define BOOST_PP_SLOT_9TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 8 +# define BOOST_PP_SLOT_8TH(x) BOOST_PP_SLOT_9TH(x) % 10000000UL +# else +# define BOOST_PP_SLOT_8TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 7 +# define BOOST_PP_SLOT_7TH(x) BOOST_PP_SLOT_8TH(x) % 1000000UL +# else +# define BOOST_PP_SLOT_7TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 6 +# define BOOST_PP_SLOT_6TH(x) BOOST_PP_SLOT_7TH(x) % 100000UL +# else +# define BOOST_PP_SLOT_6TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 5 +# define BOOST_PP_SLOT_5TH(x) BOOST_PP_SLOT_6TH(x) % 10000UL +# else +# define BOOST_PP_SLOT_5TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 4 +# define BOOST_PP_SLOT_4TH(x) BOOST_PP_SLOT_5TH(x) % 1000UL +# else +# define BOOST_PP_SLOT_4TH(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 3 +# define BOOST_PP_SLOT_3RD(x) BOOST_PP_SLOT_4TH(x) % 100UL +# else +# define BOOST_PP_SLOT_3RD(x) (x) +# endif +# +# if BOOST_PP_SLOT_SIG >= 2 +# define BOOST_PP_SLOT_2ND(x) BOOST_PP_SLOT_3RD(x) % 10UL +# else +# define BOOST_PP_SLOT_2ND(x) (x) +# endif +# +# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_DETAIL_CAT2(a, b) +# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_2(a, b), c) +# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_3(a, b, c), d) +# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_4(a, b, c, d), e) +# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_5(a, b, c, d, e), f) +# define BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_6(a, b, c, d, e, f), g) +# define BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g), h) +# define BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h), i) +# define BOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) BOOST_PP_DETAIL_CAT2(BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i), j) +# +# endif diff --git a/boost/boost/preprocessor/tuple/elem.hpp b/boost/boost/preprocessor/tuple/elem.hpp index b38e78fa5f..4ffefee7cb 100644 --- a/boost/boost/preprocessor/tuple/elem.hpp +++ b/boost/boost/preprocessor/tuple/elem.hpp @@ -32,7 +32,7 @@ BOOST_PP_TUPLE_ELEM(2,1,(A,B)) */ -#if !defined(__MWERKS__) || __MWERKS__ > 0x3001 +#if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002 # define BOOST_PP_TUPLE_ELEM(SIZE_OF_TUPLE,INDEX,TUPLE)\ BOOST_PP_DETAIL_EXPAND2(\ BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE16_ELEM,INDEX)\ diff --git a/boost/boost/preprocessor/tuple/reverse.hpp b/boost/boost/preprocessor/tuple/reverse.hpp index 496c9a3c98..dd1c7e271d 100644 --- a/boost/boost/preprocessor/tuple/reverse.hpp +++ b/boost/boost/preprocessor/tuple/reverse.hpp @@ -25,13 +25,13 @@ BOOST_PP_TUPLE_REVERSE(3,(A,B,C)) */ #define BOOST_PP_TUPLE_REVERSE(SIZE_OF_TUPLE,TUPLE) BOOST_PP_TUPLE_REVERSE_DELAY(SIZE_OF_TUPLE,TUPLE) -#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) +#if defined(BOOST_NO_COMPILER_CONFIG) || !defined(__MWERKS__) || __MWERKS__ > 0x3002 +# define BOOST_PP_TUPLE_REVERSE_DELAY(N,T) BOOST_PP_TUPLE##N##_REVERSE T +#else /* This is a workaround for a CodeWarrior PP bug. Strictly speaking * this workaround invokes undefined behavior, but it works as desired. */ # define BOOST_PP_TUPLE_REVERSE_DELAY(N,T) BOOST_PP_TUPLE##N##_REVERSE##T -#else -# define BOOST_PP_TUPLE_REVERSE_DELAY(N,T) BOOST_PP_TUPLE##N##_REVERSE T #endif #define BOOST_PP_TUPLE0_REVERSE() () #define BOOST_PP_TUPLE1_REVERSE(A) (A) diff --git a/boost/boost/preprocessor/tuple/to_list.hpp b/boost/boost/preprocessor/tuple/to_list.hpp index 2d5eaf117b..fcb5546f6d 100644 --- a/boost/boost/preprocessor/tuple/to_list.hpp +++ b/boost/boost/preprocessor/tuple/to_list.hpp @@ -39,13 +39,13 @@ BOOST_PP_LIST_NIL))) */ #define BOOST_PP_TUPLE_TO_LIST(SIZE_OF_TUPLE,TUPLE) BOOST_PP_TUPLE_TO_LIST_DELAY(SIZE_OF_TUPLE,TUPLE) -#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) +#if defined(BOOST_NO_COMPILER_CONFIG) || !defined(__MWERKS__) || __MWERKS__ > 0x3002 +# define BOOST_PP_TUPLE_TO_LIST_DELAY(N,T) BOOST_PP_TUPLE##N##_TO_LIST T +#else /* This is a workaround for a CodeWarrior PP bug. Strictly speaking * this workaround invokes undefined behavior, but it works as desired. */ # define BOOST_PP_TUPLE_TO_LIST_DELAY(N,T) BOOST_PP_TUPLE##N##_TO_LIST##T -#else -# define BOOST_PP_TUPLE_TO_LIST_DELAY(N,T) BOOST_PP_TUPLE##N##_TO_LIST T #endif #define BOOST_PP_TUPLE0_TO_LIST() (_,_,0) #define BOOST_PP_TUPLE1_TO_LIST(A) (A,(_,_,0),1) diff --git a/boost/boost/property_map.hpp b/boost/boost/property_map.hpp index 371f1a41c0..e8611e62e1 100644 --- a/boost/boost/property_map.hpp +++ b/boost/boost/property_map.hpp @@ -474,7 +474,7 @@ namespace boost { const_associative_property_map() : m_c(0) { } const_associative_property_map(const C& c) : m_c(&c) { } reference operator[](const key_type& k) const { - return (*m_c)[k]; + return m_c->find(k)->second; } private: C const* m_c; diff --git a/boost/boost/regex.hpp b/boost/boost/regex.hpp index 9cddec1111..b07ca322ac 100644 --- a/boost/boost/regex.hpp +++ b/boost/boost/regex.hpp @@ -268,6 +268,7 @@ struct re_repeat : public re_jump int id; bool leading; bool greedy; + bool singleton; }; diff --git a/boost/boost/regex/detail/regex_compile.hpp b/boost/boost/regex/detail/regex_compile.hpp index 5ec6a262fd..a861343356 100644 --- a/boost/boost/regex/detail/regex_compile.hpp +++ b/boost/boost/regex/detail/regex_compile.hpp @@ -416,6 +416,17 @@ void BOOST_REGEX_CALL reg_expression::compile_maps() record->can_be_null = 0; compile_map(record->next.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_take, static_cast(record)->alt.p); compile_map(static_cast(record)->alt.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_skip); + if(record->type == re_detail::syntax_element_rep) + { + re_detail::re_repeat* rep = static_cast(record); + // set whether this is a singleton repeat or not: + if(rep->next.p->next.p->next.p == rep->alt.p) + { + rep->singleton = true; + } + else + rep->singleton = false; + } } else { diff --git a/boost/boost/shared_ptr.hpp b/boost/boost/shared_ptr.hpp index 78698a7885..8f55948ff4 100644 --- a/boost/boost/shared_ptr.hpp +++ b/boost/boost/shared_ptr.hpp @@ -23,7 +23,7 @@ #include #include - +#include #include #include // for std::auto_ptr @@ -90,6 +90,7 @@ private: public: typedef T element_type; + typedef T value_type; shared_ptr(): px(0), pn() { @@ -135,19 +136,19 @@ public: template shared_ptr(shared_ptr const & r, detail::dynamic_cast_tag): px(dynamic_cast(r.px)), pn(r.pn) { - if (px == 0) // need to allocate new counter -- the cast failed - { - pn = detail::shared_count(); - } + if (px == 0) // need to allocate new counter -- the cast failed + { + pn = detail::shared_count(); + } } template shared_ptr(shared_ptr const & r, detail::polymorphic_cast_tag): px(dynamic_cast(r.px)), pn(r.pn) { - if (px == 0) - { - throw std::bad_cast(); - } + if (px == 0) + { + boost::throw_exception(std::bad_cast()); + } } #ifndef BOOST_NO_AUTO_PTR @@ -164,9 +165,9 @@ public: template shared_ptr & operator=(shared_ptr const & r) // never throws { - px = r.px; - pn = r.pn; // shared_count::op= doesn't throw - return *this; + px = r.px; + pn = r.pn; // shared_count::op= doesn't throw + return *this; } #endif @@ -176,43 +177,43 @@ public: template shared_ptr & operator=(std::auto_ptr & r) { - this_type(r).swap(*this); - return *this; + this_type(r).swap(*this); + return *this; } #endif void reset() { - this_type().swap(*this); + this_type().swap(*this); } template void reset(Y * p) // Y must be complete { - BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors - this_type(p).swap(*this); + BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors + this_type(p).swap(*this); } template void reset(Y * p, D d) { - this_type(p, d).swap(*this); + this_type(p, d).swap(*this); } typename detail::shared_ptr_traits::reference operator* () const // never throws { - BOOST_ASSERT(px != 0); - return *px; + BOOST_ASSERT(px != 0); + return *px; } T * operator-> () const // never throws { - BOOST_ASSERT(px != 0); - return px; + BOOST_ASSERT(px != 0); + return px; } - + T * get() const // never throws { - return px; + return px; } // implicit conversion to "bool" @@ -221,28 +222,28 @@ public: operator unspecified_bool_type() const // never throws { - return px == 0? 0: &this_type::get; + return px == 0? 0: &this_type::get; } bool operator! () const // never throws { - return px == 0; + return px == 0; } bool unique() const // never throws { - return pn.unique(); + return pn.unique(); } long use_count() const // never throws { - return pn.use_count(); + return pn.use_count(); } void swap(shared_ptr & other) // never throws { - std::swap(px, other.px); - pn.swap(other.pn); + std::swap(px, other.px); + pn.swap(other.pn); } // Tasteless as this may seem, making all members public allows member templates @@ -348,7 +349,7 @@ template shared_ptr shared_from_this(T * p) #ifdef BOOST_MSVC # pragma warning(pop) -#endif +#endif #endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) diff --git a/boost/boost/signal.hpp b/boost/boost/signal.hpp index 940694560d..17eb2e7fbc 100644 --- a/boost/boost/signal.hpp +++ b/boost/boost/signal.hpp @@ -54,7 +54,7 @@ namespace boost { SlotFunction> { typedef function_traits traits; - + public: typedef signal0 { typedef function_traits traits; - + public: typedef signal1 class real_get_signal_impl<2, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -109,7 +109,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<3, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -130,7 +130,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<4, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -152,7 +152,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<5, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -175,7 +175,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<6, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -199,7 +199,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<7, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -224,7 +224,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<8, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -250,7 +250,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<9, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -277,7 +277,7 @@ namespace boost { typename SlotFunction> class real_get_signal_impl<10, Signature, Combiner, Group, GroupCompare, SlotFunction> - { + { typedef function_traits traits; public: @@ -310,7 +310,7 @@ namespace boost { Group, GroupCompare, SlotFunction> - { + { }; } // end namespace detail @@ -340,7 +340,7 @@ namespace boost { GroupCompare, SlotFunction>::type base_type; - public: + public: explicit signal(const Combiner& combiner = Combiner(), const GroupCompare& group_compare = GroupCompare()) : base_type(combiner, group_compare) diff --git a/boost/boost/signals/connection.hpp b/boost/boost/signals/connection.hpp index 3381c99ad7..4b7b0ea36e 100644 --- a/boost/boost/signals/connection.hpp +++ b/boost/boost/signals/connection.hpp @@ -10,7 +10,7 @@ // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. - + // For more information, see http://www.boost.org #ifndef BOOST_SIGNALS_CONNECTION_HPP @@ -32,31 +32,31 @@ namespace boost { // Represents an object that has been bound as part of a slot, and how // to notify that object of a disconnect struct bound_object { - void* obj; - void* data; - void (*disconnect)(void*, void*); + void* obj; + void* data; + void (*disconnect)(void*, void*); - bool operator==(const bound_object& other) const - { return obj == other.obj && data == other.data; } - bool operator<(const bound_object& other) const - { return obj < other.obj; } + bool operator==(const bound_object& other) const + { return obj == other.obj && data == other.data; } + bool operator<(const bound_object& other) const + { return obj < other.obj; } }; - + // Describes the connection between a signal and the objects that are // bound for a specific slot. Enables notification of the signal and the // slots when a disconnect is requested. struct basic_connection { - void* signal; - void* signal_data; - void (*signal_disconnect)(void*, void*); - - std::list bound_objects; + void* signal; + void* signal_data; + void (*signal_disconnect)(void*, void*); + + std::list bound_objects; }; } // end namespace detail // The user may freely pass around the "connection" object and terminate // the connection at any time using disconnect(). - class connection : + class connection : private less_than_comparable1, private equality_comparable1 { @@ -116,7 +116,7 @@ namespace boost { connection release(); - void swap(scoped_connection&); + inline void swap(scoped_connection&); scoped_connection& operator=(const connection&); scoped_connection& operator=(const scoped_connection&); @@ -131,24 +131,24 @@ namespace boost { } inline connection::connection(const connection& other) : - con(other.con), controlling_connection(other.controlling_connection) + con(other.con), controlling_connection(other.controlling_connection) { } inline connection::~connection() { if (controlling_connection) { - disconnect(); + disconnect(); } } - inline void + inline void connection::reset(BOOST_SIGNALS_NAMESPACE::detail::basic_connection* new_con) { con.reset(new_con); } - inline void + inline void connection::add_bound_object(const BOOST_SIGNALS_NAMESPACE::detail::bound_object& b) { assert(con.get() != 0); @@ -166,7 +166,7 @@ namespace boost { } inline connection& connection::operator=(const connection& other) - { + { connection(other).swap(*this); return *this; } @@ -188,7 +188,7 @@ namespace boost { { } - inline + inline scoped_connection::scoped_connection(const scoped_connection& other) : connection(other), released(other.released) @@ -198,7 +198,7 @@ namespace boost { inline scoped_connection::~scoped_connection() { if (!released) { - this->disconnect(); + this->disconnect(); } } @@ -221,14 +221,14 @@ namespace boost { c1.swap(c2); } - inline scoped_connection& + inline scoped_connection& scoped_connection::operator=(const connection& other) { scoped_connection(other).swap(*this); return *this; } - inline scoped_connection& + inline scoped_connection& scoped_connection::operator=(const scoped_connection& other) { scoped_connection(other).swap(*this); @@ -237,52 +237,52 @@ namespace boost { namespace detail { struct connection_slot_pair { - connection first; - any second; + connection first; + any second; - connection_slot_pair() {} + connection_slot_pair() {} - connection_slot_pair(const connection& c, const any& a) - : first(c), second(a) - { - } + connection_slot_pair(const connection& c, const any& a) + : first(c), second(a) + { + } - // Dummys to allow explicit instantiation to work - bool operator==(const connection_slot_pair&) const { return false; } - bool operator<(const connection_slot_pair&) const { return false;} + // Dummys to allow explicit instantiation to work + bool operator==(const connection_slot_pair&) const { return false; } + bool operator<(const connection_slot_pair&) const { return false;} }; - + // Determines if the underlying connection is disconnected struct is_disconnected { - typedef std::pair argument_type; - typedef bool result_type; + typedef std::pair argument_type; + typedef bool result_type; - inline bool operator()(const argument_type& c) const - { - return !c.second.first.connected(); - } + inline bool operator()(const argument_type& c) const + { + return !c.second.first.connected(); + } }; // Autodisconnects the bound object when it is destroyed unless the // release method is invoked. class auto_disconnect_bound_object { public: - auto_disconnect_bound_object(const bound_object& b) : - binding(b), auto_disconnect(true) - { - } + auto_disconnect_bound_object(const bound_object& b) : + binding(b), auto_disconnect(true) + { + } - ~auto_disconnect_bound_object() - { - if (auto_disconnect) - binding.disconnect(binding.obj, binding.data); - } + ~auto_disconnect_bound_object() + { + if (auto_disconnect) + binding.disconnect(binding.obj, binding.data); + } - void release() { auto_disconnect = false; } + void release() { auto_disconnect = false; } private: - bound_object binding; - bool auto_disconnect; + bound_object binding; + bool auto_disconnect; }; } // end namespace detail } // end namespace BOOST_SIGNALS_NAMESPACE diff --git a/boost/boost/signals/detail/signal_base.hpp b/boost/boost/signals/detail/signal_base.hpp index 453e8a336c..cdfaee77eb 100644 --- a/boost/boost/signals/detail/signal_base.hpp +++ b/boost/boost/signals/detail/signal_base.hpp @@ -1,6 +1,6 @@ // Boost.Signals library // -// Copyright (C) 2001-2 Doug Gregor (gregod@cs.rpi.edu) +// Copyright (C) 2001, 2002 Doug Gregor (gregod@cs.rpi.edu) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. @@ -16,6 +16,10 @@ #ifndef BOOST_SIGNALS_SIGNAL_BASE_HEADER #define BOOST_SIGNALS_SIGNAL_BASE_HEADER +#ifdef BOOST_SIGNALS_IN_LIBRARY_SOURCE +# define BOOST_FUNCTION_SILENT_DEPRECATED +#endif + #include #include #include diff --git a/boost/boost/throw_exception.hpp b/boost/boost/throw_exception.hpp new file mode 100644 index 0000000000..36e27335bf --- /dev/null +++ b/boost/boost/throw_exception.hpp @@ -0,0 +1,43 @@ +#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED +#define BOOST_THROW_EXCEPTION_HPP_INCLUDED + +#if _MSC_VER >= 1020 +#pragma once +#endif + +// +// boost/throw_exception.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Permission to copy, use, modify, sell and distribute this software +// is granted provided this copyright notice appears in all copies. +// This software is provided "as is" without express or implied +// warranty, and with no claim as to its suitability for any purpose. +// + +#include + +#ifdef BOOST_NO_EXCEPTIONS +# include +#endif + +namespace boost +{ + +#ifdef BOOST_NO_EXCEPTIONS + +void throw_exception(std::exception const & e); // user defined + +#else + +template void throw_exception(E const & e) +{ + throw e; +} + +#endif + +} // namespace boost + +#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED diff --git a/boost/libs/regex/src/cpp_regex_traits.cpp b/boost/libs/regex/src/cpp_regex_traits.cpp index afe3d94625..5fd36d86c0 100644 --- a/boost/libs/regex/src/cpp_regex_traits.cpp +++ b/boost/libs/regex/src/cpp_regex_traits.cpp @@ -145,6 +145,7 @@ parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, : else this->setg(g, g + newpos, g + size); } + default: ; // just to avoid warnings from gcc } return static_cast(this->gptr() - this->eback()); } diff --git a/boost/libs/signals/src/connection.cpp b/boost/libs/signals/src/connection.cpp index 3f7020a054..89e83293e0 100644 --- a/boost/libs/signals/src/connection.cpp +++ b/boost/libs/signals/src/connection.cpp @@ -1,6 +1,6 @@ // Boost.Signals library // -// Copyright (C) 2001 Doug Gregor (gregod@cs.rpi.edu) +// Copyright (C) 2001, 2002 Doug Gregor (gregod@cs.rpi.edu) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. @@ -13,6 +13,8 @@ // For more information, see http://www.boost.org +#define BOOST_SIGNALS_IN_LIBRARY_SOURCE + #include #include diff --git a/boost/libs/signals/src/signal_base.cpp b/boost/libs/signals/src/signal_base.cpp index d3ae937919..508278ac9e 100644 --- a/boost/libs/signals/src/signal_base.cpp +++ b/boost/libs/signals/src/signal_base.cpp @@ -1,6 +1,6 @@ // Boost.Signals library // -// Copyright (C) 2001 Doug Gregor (gregod@cs.rpi.edu) +// Copyright (C) 2001, 2002 Doug Gregor (gregod@cs.rpi.edu) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. @@ -10,214 +10,216 @@ // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. - + // For more information, see http://www.boost.org +#define BOOST_SIGNALS_IN_LIBRARY_SOURCE + #include #include namespace boost { namespace BOOST_SIGNALS_NAMESPACE { namespace detail { - signal_base_impl::signal_base_impl(const compare_type& comp) : - call_depth(0), - slots_(comp) + signal_base_impl::signal_base_impl(const compare_type& comp) : + call_depth(0), + slots_(comp) { - flags.delayed_disconnect = false; - flags.clearing = false; + flags.delayed_disconnect = false; + flags.clearing = false; } signal_base_impl::~signal_base_impl() { - // Set the "clearing" flag to ignore extraneous disconnect requests, - // because all slots will be disconnected on destruction anyway. - flags.clearing = true; + // Set the "clearing" flag to ignore extraneous disconnect requests, + // because all slots will be disconnected on destruction anyway. + flags.clearing = true; } void signal_base_impl::disconnect_all_slots() { - // Do nothing if we're already clearing the slot list - if (flags.clearing) - return; + // Do nothing if we're already clearing the slot list + if (flags.clearing) + return; - if (call_depth == 0) { - // Clearing the slot list will disconnect all slots automatically - temporarily_set_clearing set_clearing(this); - slots_.clear(); - } - else { - // We can't actually remove elements from the slot list because there - // are still iterators into the slot list that must not be - // invalidated by this operation. So just disconnect each slot - // without removing it from the slot list. When the call depth does - // reach zero, the call list will be cleared. - flags.delayed_disconnect = true; - temporarily_set_clearing set_clearing(this); - for (slot_iterator i = slots_.begin(); i != slots_.end(); ++i) { - i->second.first.disconnect(); - } - } + if (call_depth == 0) { + // Clearing the slot list will disconnect all slots automatically + temporarily_set_clearing set_clearing(this); + slots_.clear(); + } + else { + // We can't actually remove elements from the slot list because there + // are still iterators into the slot list that must not be + // invalidated by this operation. So just disconnect each slot + // without removing it from the slot list. When the call depth does + // reach zero, the call list will be cleared. + flags.delayed_disconnect = true; + temporarily_set_clearing set_clearing(this); + for (slot_iterator i = slots_.begin(); i != slots_.end(); ++i) { + i->second.first.disconnect(); + } + } } - connection + connection signal_base_impl:: - connect_slot(const any& slot, - const any& name, - const std::vector& bound_objects) + connect_slot(const any& slot, + const any& name, + const std::vector& bound_objects) { - // Allocate storage for a new basic_connection object to represent the - // connection - basic_connection* con = new basic_connection(); + // Allocate storage for a new basic_connection object to represent the + // connection + basic_connection* con = new basic_connection(); - // Create a new connection handle object and place the basic_connection - // object we just created under its control. Note that the "reset" - // routine will delete con if allocation throws. - connection slot_connection; - slot_connection.reset(con); + // Create a new connection handle object and place the basic_connection + // object we just created under its control. Note that the "reset" + // routine will delete con if allocation throws. + connection slot_connection; + slot_connection.reset(con); - // Allocate storage for an iterator that will hold the point of - // insertion of the slot into the list. This is used to later remove - // the slot when it is disconnected. - std::auto_ptr saved_iter(new slot_iterator()); + // Allocate storage for an iterator that will hold the point of + // insertion of the slot into the list. This is used to later remove + // the slot when it is disconnected. + std::auto_ptr saved_iter(new slot_iterator()); - // Add the slot to the list. + // Add the slot to the list. - slot_iterator pos = - slots_.insert(stored_slot_type(name, - connection_slot_pair(slot_connection, - slot))); + slot_iterator pos = + slots_.insert(stored_slot_type(name, + connection_slot_pair(slot_connection, + slot))); - // Make the copy of the connection in the list disconnect when it is - // destroyed - pos->second.first.set_controlling(); + // Make the copy of the connection in the list disconnect when it is + // destroyed + pos->second.first.set_controlling(); - // The assignment operation here absolutely must not throw, which - // intuitively makes sense (because any container's insert method - // becomes impossible to use in an exception-safe manner without this - // assumption), but doesn't appear to be mentioned in the standard. - *saved_iter = pos; + // The assignment operation here absolutely must not throw, which + // intuitively makes sense (because any container's insert method + // becomes impossible to use in an exception-safe manner without this + // assumption), but doesn't appear to be mentioned in the standard. + *saved_iter = pos; + + // Fill out the connection object appropriately. None of these + // operations can throw + con->signal = this; + con->signal_data = saved_iter.release(); + con->signal_disconnect = &signal_base_impl::slot_disconnected; + + // If an exception is thrown the connection will automatically be + // disconnected. + scoped_connection safe_connection = slot_connection; + + // Connect each of the bound objects + for(std::vector::const_iterator i = + bound_objects.begin(); + i != bound_objects.end(); + ++i) { + // Notify the object that the signal is connecting to it by passing + // it a copy of the connection. If the connection + // should throw, the scoped connection safe_connection will + // disconnect the connection completely. + bound_object binding; + (*i)->signal_connected(slot_connection, binding); - // Fill out the connection object appropriately. None of these - // operations can throw - con->signal = this; - con->signal_data = saved_iter.release(); - con->signal_disconnect = &signal_base_impl::slot_disconnected; + // This will notify the bound object that the connection just made + // should be disconnected if an exception is thrown before the + // end of this iteration + auto_disconnect_bound_object disconnector(binding); - // If an exception is thrown the connection will automatically be - // disconnected. - scoped_connection safe_connection = slot_connection; + // Add the binding to the list of bindings for the connection. + con->bound_objects.push_back(binding); - // Connect each of the bound objects - for(std::vector::const_iterator i = - bound_objects.begin(); - i != bound_objects.end(); - ++i) { - // Notify the object that the signal is connecting to it by passing - // it a copy of the connection. If the connection - // should throw, the scoped connection safe_connection will - // disconnect the connection completely. - bound_object binding; - (*i)->signal_connected(slot_connection, binding); + // The connection object now knows about the bound object, so if an + // exception is thrown later the connection object will notify the + // bound object of the disconnection automatically + disconnector.release(); + } - // This will notify the bound object that the connection just made - // should be disconnected if an exception is thrown before the - // end of this iteration - auto_disconnect_bound_object disconnector(binding); + // No exceptions will be thrown past this point, and we must not + // disconnect the connection now + safe_connection.release(); - // Add the binding to the list of bindings for the connection. - con->bound_objects.push_back(binding); - - // The connection object now knows about the bound object, so if an - // exception is thrown later the connection object will notify the - // bound object of the disconnection automatically - disconnector.release(); - } - - // No exceptions will be thrown past this point, and we must not - // disconnect the connection now - safe_connection.release(); - - return slot_connection; + return slot_connection; } bool signal_base_impl::empty() const { - // Disconnected slots may still be in the list of slots if - // a) this is called while slots are being invoked (call_depth > 0) - // b) an exception was thrown in remove_disconnected_slots - for (slot_iterator i = slots_.begin(); i != slots_.end(); ++i) { - if (i->second.first.connected()) - return false; - } + // Disconnected slots may still be in the list of slots if + // a) this is called while slots are being invoked (call_depth > 0) + // b) an exception was thrown in remove_disconnected_slots + for (slot_iterator i = slots_.begin(); i != slots_.end(); ++i) { + if (i->second.first.connected()) + return false; + } - return true; + return true; } void signal_base_impl::disconnect(const any& group) { - std::pair group_slots = - slots_.equal_range(group); - while (group_slots.first != group_slots.second) { - slot_iterator next = group_slots.first; - ++next; + std::pair group_slots = + slots_.equal_range(group); + while (group_slots.first != group_slots.second) { + slot_iterator next = group_slots.first; + ++next; - group_slots.first->second.first.disconnect(); - group_slots.first = next; - } + group_slots.first->second.first.disconnect(); + group_slots.first = next; + } } void signal_base_impl::slot_disconnected(void* obj, void* data) { - signal_base_impl* self = reinterpret_cast(obj); + signal_base_impl* self = reinterpret_cast(obj); - // We won't need the slot iterator after this - std::auto_ptr slot( - reinterpret_cast(data)); - - // If we're flags.clearing, we don't bother updating the list of slots - if (!self->flags.clearing) { - // If we're in a call, note the fact that a slot has been deleted so - // we can come back later to remove the iterator - if (self->call_depth > 0) { - self->flags.delayed_disconnect = true; - } - else { - // Just remove the slot now, it's safe - self->slots_.erase(*slot); - } - } + // We won't need the slot iterator after this + std::auto_ptr slot( + reinterpret_cast(data)); + + // If we're flags.clearing, we don't bother updating the list of slots + if (!self->flags.clearing) { + // If we're in a call, note the fact that a slot has been deleted so + // we can come back later to remove the iterator + if (self->call_depth > 0) { + self->flags.delayed_disconnect = true; + } + else { + // Just remove the slot now, it's safe + self->slots_.erase(*slot); + } + } } void signal_base_impl::remove_disconnected_slots() const { - // Remove any disconnected slots - for (slot_iterator i = slots_.begin(); i != slots_.end(); /* none */) { - if (!i->second.first.connected()) - slots_.erase(i++); - else - ++i; - } + // Remove any disconnected slots + for (slot_iterator i = slots_.begin(); i != slots_.end(); /* none */) { + if (!i->second.first.connected()) + slots_.erase(i++); + else + ++i; + } } call_notification:: - call_notification(const shared_ptr& b) : - impl(b) + call_notification(const shared_ptr& b) : + impl(b) { - // A call will be made, so increment the call depth as a notification - impl->call_depth++; + // A call will be made, so increment the call depth as a notification + impl->call_depth++; } call_notification::~call_notification() { - impl->call_depth--; + impl->call_depth--; - // If the call depth is zero and we have some slots that have been - // disconnected during the calls, remove those slots from the list - if (impl->call_depth == 0 && - impl->flags.delayed_disconnect) { - impl->remove_disconnected_slots(); - impl->flags.delayed_disconnect = false; - } + // If the call depth is zero and we have some slots that have been + // disconnected during the calls, remove those slots from the list + if (impl->call_depth == 0 && + impl->flags.delayed_disconnect) { + impl->remove_disconnected_slots(); + impl->flags.delayed_disconnect = false; + } } signal_base::~signal_base() @@ -230,7 +232,7 @@ namespace boost { #ifndef BOOST_MSVC // Explicit instantiations to keep in the library template class boost::function2; -template class std::multimap >; +template class std::multimap >; #endif diff --git a/boost/libs/signals/src/slot.cpp b/boost/libs/signals/src/slot.cpp index 0c23df559c..076bb0d9cb 100644 --- a/boost/libs/signals/src/slot.cpp +++ b/boost/libs/signals/src/slot.cpp @@ -13,6 +13,8 @@ // For more information, see http://www.boost.org +#define BOOST_SIGNALS_IN_LIBRARY_SOURCE + #include namespace boost { diff --git a/boost/libs/signals/src/trackable.cpp b/boost/libs/signals/src/trackable.cpp index b2189e372e..1b8c693903 100644 --- a/boost/libs/signals/src/trackable.cpp +++ b/boost/libs/signals/src/trackable.cpp @@ -1,6 +1,6 @@ // Boost.Signals library // -// Copyright (C) 2001 Doug Gregor (gregod@cs.rpi.edu) +// Copyright (C) 2001, 2002 Doug Gregor (gregod@cs.rpi.edu) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. @@ -13,6 +13,8 @@ // For more information, see http://www.boost.org +#define BOOST_SIGNALS_IN_LIBRARY_SOURCE + #include #include diff --git a/src/ChangeLog b/src/ChangeLog index ba7e3b3802..59bd0744d0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2002-08-20 Lars Gullik Bjønnes + * boost.C (throw_exception): new file, with helper function for + boost compiled without exceptions. + * paragraph.h: * lyxlength.C: * buffer.C: diff --git a/src/Makefile.am b/src/Makefile.am index 79f7005564..24ddada57c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -89,6 +89,7 @@ lyx_SOURCES = \ ToolbarDefaults.C \ ToolbarDefaults.h \ WordLangTuple.h \ + boost.C \ box.h \ box.C \ broken_headers.h \ diff --git a/src/boost.C b/src/boost.C new file mode 100644 index 0000000000..ef997c801c --- /dev/null +++ b/src/boost.C @@ -0,0 +1,20 @@ +#include + +#include "debug.h" +#include "support/LAssert.h" + +#include + +using std::endl; + +namespace boost { + +void throw_exception(std::exception const & e) +{ + lyxerr << "Exception caught:\n" + << e.what() << endl; + lyx::Assert(false); +} + + +} diff --git a/src/paragraph_pimpl.C b/src/paragraph_pimpl.C index abe2ece5b7..84bda8d103 100644 --- a/src/paragraph_pimpl.C +++ b/src/paragraph_pimpl.C @@ -141,7 +141,7 @@ void Paragraph::Pimpl::insertChar(pos_type pos, value_type c, // Update the insets owner_->insetlist.increasePosAfterPos(pos); - + owner_->setFont(pos, font); } @@ -158,7 +158,7 @@ void Paragraph::Pimpl::insertInset(pos_type pos, // Add a new entry in the insetlist. owner_->insetlist.insert(inset, pos); inset->parOwner(owner_); - + if (inset_owner) inset->setOwner(inset_owner); } diff --git a/src/text2.C b/src/text2.C index 04d3b35de5..bf00bc745d 100644 --- a/src/text2.C +++ b/src/text2.C @@ -1353,7 +1353,7 @@ void LyXText::setCounter(Buffer const * buf, Paragraph * par) const = floatList.getType(static_cast(in)->type()); buf->counters().step(fl.name()); - + // Doesn't work... yet. ostringstream o; //o << fl.name() << " " << buf->counters().value(fl.name()) << ":"; @@ -1382,7 +1382,7 @@ void LyXText::setCounter(Buffer const * buf, Paragraph * par) const void LyXText::updateCounters(BufferView * bview) const { Paragraph * par; - + Row * row = firstrow; par = row->par(); @@ -1390,7 +1390,7 @@ void LyXText::updateCounters(BufferView * bview) const while (par) { while (row->par() != par) row = row->next(); - + setCounter(bview->buffer(), par); // now check for the headline layouts. remember that they