OSDN Git Service

Use std::bind instead of boost::bind
authorsdottaka <sdottaka@users.sourceforge.net>
Sun, 9 Aug 2015 01:20:20 +0000 (10:20 +0900)
committersdottaka <sdottaka@users.sourceforge.net>
Sun, 9 Aug 2015 01:20:20 +0000 (10:20 +0900)
19 files changed:
Externals/boost/boost/bind.hpp [deleted file]
Externals/boost/boost/bind/arg.hpp [deleted file]
Externals/boost/boost/bind/bind.hpp [deleted file]
Externals/boost/boost/bind/bind_cc.hpp [deleted file]
Externals/boost/boost/bind/bind_mf2_cc.hpp [deleted file]
Externals/boost/boost/bind/bind_mf_cc.hpp [deleted file]
Externals/boost/boost/bind/bind_template.hpp [deleted file]
Externals/boost/boost/bind/mem_fn.hpp [deleted file]
Externals/boost/boost/bind/mem_fn_cc.hpp [deleted file]
Externals/boost/boost/bind/mem_fn_template.hpp [deleted file]
Externals/boost/boost/bind/mem_fn_vw.hpp [deleted file]
Externals/boost/boost/bind/placeholders.hpp [deleted file]
Externals/boost/boost/bind/storage.hpp [deleted file]
Externals/boost/boost/get_pointer.hpp [deleted file]
Externals/boost/boost/is_placeholder.hpp [deleted file]
Externals/boost/boost/mem_fn.hpp [deleted file]
Externals/boost/boost/type.hpp [deleted file]
Externals/boost/boost/visit_each.hpp [deleted file]
Src/DirView.cpp

diff --git a/Externals/boost/boost/bind.hpp b/Externals/boost/boost/bind.hpp
deleted file mode 100644 (file)
index e1eb386..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef BOOST_BIND_HPP_INCLUDED\r
-#define BOOST_BIND_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  bind.hpp - binds function objects to arguments\r
-//\r
-//  Copyright (c) 2009 Peter Dimov\r
-//\r
-//  Distributed under the Boost Software License, Version 1.0.\r
-//  See accompanying file LICENSE_1_0.txt or copy at\r
-//  http://www.boost.org/LICENSE_1_0.txt\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-#include <boost/bind/bind.hpp>\r
-\r
-#endif // #ifndef BOOST_BIND_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/bind/arg.hpp b/Externals/boost/boost/bind/arg.hpp
deleted file mode 100644 (file)
index cfda979..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef BOOST_BIND_ARG_HPP_INCLUDED\r
-#define BOOST_BIND_ARG_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  bind/arg.hpp\r
-//\r
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-#include <boost/config.hpp>\r
-#include <boost/is_placeholder.hpp>\r
-#include <boost/static_assert.hpp>\r
-\r
-namespace boost\r
-{\r
-\r
-template< int I > struct arg\r
-{\r
-    arg()\r
-    {\r
-    }\r
-\r
-    template< class T > arg( T const & /* t */ )\r
-    {\r
-        BOOST_STATIC_ASSERT( I == is_placeholder<T>::value );\r
-    }\r
-};\r
-\r
-template< int I > bool operator==( arg<I> const &, arg<I> const & )\r
-{\r
-    return true;\r
-}\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template< int I > struct is_placeholder< arg<I> >\r
-{\r
-    enum _vt { value = I };\r
-};\r
-\r
-template< int I > struct is_placeholder< arg<I> (*) () >\r
-{\r
-    enum _vt { value = I };\r
-};\r
-\r
-#endif\r
-\r
-} // namespace boost\r
-\r
-#endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/bind/bind.hpp b/Externals/boost/boost/bind/bind.hpp
deleted file mode 100644 (file)
index fca53a5..0000000
+++ /dev/null
@@ -1,1751 +0,0 @@
-#ifndef BOOST_BIND_BIND_HPP_INCLUDED\r
-#define BOOST_BIND_BIND_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  bind.hpp - binds function objects to arguments\r
-//\r
-//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.\r
-//  Copyright (c) 2001 David Abrahams\r
-//  Copyright (c) 2005 Peter Dimov\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-#include <boost/config.hpp>\r
-#include <boost/ref.hpp>\r
-#include <boost/mem_fn.hpp>\r
-#include <boost/type.hpp>\r
-#include <boost/is_placeholder.hpp>\r
-#include <boost/bind/arg.hpp>\r
-#include <boost/detail/workaround.hpp>\r
-#include <boost/visit_each.hpp>\r
-\r
-// Borland-specific bug, visit_each() silently fails to produce code\r
-\r
-#if defined(__BORLANDC__)\r
-#  define BOOST_BIND_VISIT_EACH boost::visit_each\r
-#else\r
-#  define BOOST_BIND_VISIT_EACH visit_each\r
-#endif\r
-\r
-#include <boost/bind/storage.hpp>\r
-\r
-#ifdef BOOST_MSVC\r
-# pragma warning(push)\r
-# pragma warning(disable: 4512) // assignment operator could not be generated\r
-#endif\r
-\r
-namespace boost\r
-{\r
-\r
-template<class T> class weak_ptr;\r
-\r
-namespace _bi // implementation details\r
-{\r
-\r
-// result_traits\r
-\r
-template<class R, class F> struct result_traits\r
-{\r
-    typedef R type;\r
-};\r
-\r
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
-\r
-struct unspecified {};\r
-\r
-template<class F> struct result_traits<unspecified, F>\r
-{\r
-    typedef typename F::result_type type;\r
-};\r
-\r
-template<class F> struct result_traits< unspecified, reference_wrapper<F> >\r
-{\r
-    typedef typename F::result_type type;\r
-};\r
-\r
-#endif\r
-\r
-// ref_compare\r
-\r
-template<class T> bool ref_compare( T const & a, T const & b, long )\r
-{\r
-    return a == b;\r
-}\r
-\r
-template<int I> bool ref_compare( arg<I> const &, arg<I> const &, int )\r
-{\r
-    return true;\r
-}\r
-\r
-template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) (), int )\r
-{\r
-    return true;\r
-}\r
-\r
-template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b, int )\r
-{\r
-    return a.get_pointer() == b.get_pointer();\r
-}\r
-\r
-// bind_t forward declaration for listN\r
-\r
-template<class R, class F, class L> class bind_t;\r
-\r
-template<class R, class F, class L> bool ref_compare( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )\r
-{\r
-    return a.compare( b );\r
-}\r
-\r
-// value\r
-\r
-template<class T> class value\r
-{\r
-public:\r
-\r
-    value(T const & t): t_(t) {}\r
-\r
-    T & get() { return t_; }\r
-    T const & get() const { return t_; }\r
-\r
-    bool operator==(value const & rhs) const\r
-    {\r
-        return t_ == rhs.t_;\r
-    }\r
-\r
-private:\r
-\r
-    T t_;\r
-};\r
-\r
-// ref_compare for weak_ptr\r
-\r
-template<class T> bool ref_compare( value< weak_ptr<T> > const & a, value< weak_ptr<T> > const & b, int )\r
-{\r
-    return !(a.get() < b.get()) && !(b.get() < a.get());\r
-}\r
-\r
-// type\r
-\r
-template<class T> class type {};\r
-\r
-// unwrap\r
-\r
-template<class F> struct unwrapper\r
-{\r
-    static inline F & unwrap( F & f, long )\r
-    {\r
-        return f;\r
-    }\r
-\r
-    template<class F2> static inline F2 & unwrap( reference_wrapper<F2> rf, int )\r
-    {\r
-        return rf.get();\r
-    }\r
-\r
-    template<class R, class T> static inline _mfi::dm<R, T> unwrap( R T::* pm, int )\r
-    {\r
-        return _mfi::dm<R, T>( pm );\r
-    }\r
-};\r
-\r
-// listN\r
-\r
-class list0\r
-{\r
-public:\r
-\r
-    list0() {}\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)();\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)();\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A &, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)();\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A &, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)();\r
-    }\r
-\r
-    template<class V> void accept(V &) const\r
-    {\r
-    }\r
-\r
-    bool operator==(list0 const &) const\r
-    {\r
-        return true;\r
-    }\r
-};\r
-\r
-#ifdef BOOST_MSVC\r
-// MSVC is bright enough to realise that the parameter rhs \r
-// in operator==may be unused for some template argument types:\r
-#pragma warning(push)\r
-#pragma warning(disable:4100)\r
-#endif\r
-\r
-template< class A1 > class list1: private storage1< A1 >\r
-{\r
-private:\r
-\r
-    typedef storage1< A1 > base_type;\r
-\r
-public:\r
-\r
-    explicit list1( A1 a1 ): base_type( a1 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-\r
-    template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list1 const & rhs) const\r
-    {\r
-        return ref_compare(base_type::a1_, rhs.a1_, 0);\r
-    }\r
-};\r
-\r
-struct logical_and;\r
-struct logical_or;\r
-\r
-template< class A1, class A2 > class list2: private storage2< A1, A2 >\r
-{\r
-private:\r
-\r
-    typedef storage2< A1, A2 > base_type;\r
-\r
-public:\r
-\r
-    list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);\r
-    }\r
-\r
-    template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )\r
-    {\r
-        return a[ base_type::a1_ ] && a[ base_type::a2_ ];\r
-    }\r
-\r
-    template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const\r
-    {\r
-        return a[ base_type::a1_ ] && a[ base_type::a2_ ];\r
-    }\r
-\r
-    template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )\r
-    {\r
-        return a[ base_type::a1_ ] || a[ base_type::a2_ ];\r
-    }\r
-\r
-    template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const\r
-    {\r
-        return a[ base_type::a1_ ] || a[ base_type::a2_ ];\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list2 const & rhs) const\r
-    {\r
-        return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);\r
-    }\r
-};\r
-\r
-template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >\r
-{\r
-private:\r
-\r
-    typedef storage3< A1, A2, A3 > base_type;\r
-\r
-public:\r
-\r
-    list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list3 const & rhs) const\r
-    {\r
-        return\r
-            \r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 );\r
-    }\r
-};\r
-\r
-template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >\r
-{\r
-private:\r
-\r
-    typedef storage4< A1, A2, A3, A4 > base_type;\r
-\r
-public:\r
-\r
-    list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list4 const & rhs) const\r
-    {\r
-        return\r
-\r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 );\r
-    }\r
-};\r
-\r
-template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >\r
-{\r
-private:\r
-\r
-    typedef storage5< A1, A2, A3, A4, A5 > base_type;\r
-\r
-public:\r
-\r
-    list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list5 const & rhs) const\r
-    {\r
-        return\r
-\r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
-            ref_compare( base_type::a5_, rhs.a5_, 0 );\r
-    }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6> class list6: private storage6< A1, A2, A3, A4, A5, A6 >\r
-{\r
-private:\r
-\r
-    typedef storage6< A1, A2, A3, A4, A5, A6 > base_type;\r
-\r
-public:\r
-\r
-    list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list6 const & rhs) const\r
-    {\r
-        return\r
-\r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
-            ref_compare( base_type::a6_, rhs.a6_, 0 );\r
-    }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 >\r
-{\r
-private:\r
-\r
-    typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;\r
-\r
-public:\r
-\r
-    list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list7 const & rhs) const\r
-    {\r
-        return\r
-\r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
-            ref_compare( base_type::a7_, rhs.a7_, 0 );\r
-    }\r
-};\r
-\r
-template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
-{\r
-private:\r
-\r
-    typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;\r
-\r
-public:\r
-\r
-    list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
-    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
-    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list8 const & rhs) const\r
-    {\r
-        return\r
-            \r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
-            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&\r
-            ref_compare( base_type::a8_, rhs.a8_, 0 );\r
-    }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >\r
-{\r
-private:\r
-\r
-    typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;\r
-\r
-public:\r
-\r
-    list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}\r
-\r
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }\r
-    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }\r
-    A9 operator[] (boost::arg<9>) const { return base_type::a9_; }\r
-\r
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }\r
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }\r
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }\r
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }\r
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }\r
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }\r
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }\r
-    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }\r
-    A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }\r
-\r
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }\r
-\r
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }\r
-\r
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)\r
-    {\r
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);\r
-    }\r
-\r
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const\r
-    {\r
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)\r
-    {\r
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);\r
-    }\r
-\r
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const\r
-    {\r
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        base_type::accept(v);\r
-    }\r
-\r
-    bool operator==(list9 const & rhs) const\r
-    {\r
-        return\r
-\r
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&\r
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&\r
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&\r
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&\r
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&\r
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&\r
-            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&\r
-            ref_compare( base_type::a8_, rhs.a8_, 0 ) &&\r
-            ref_compare( base_type::a9_, rhs.a9_, 0 );\r
-    }\r
-};\r
-\r
-#ifdef BOOST_MSVC\r
-#pragma warning(pop)\r
-#endif\r
-\r
-// bind_t\r
-\r
-#ifndef BOOST_NO_VOID_RETURNS\r
-\r
-template<class R, class F, class L> class bind_t\r
-{\r
-public:\r
-\r
-    typedef bind_t this_type;\r
-\r
-    bind_t(F f, L const & l): f_(f), l_(l) {}\r
-\r
-#define BOOST_BIND_RETURN return\r
-#include <boost/bind/bind_template.hpp>\r
-#undef BOOST_BIND_RETURN\r
-\r
-};\r
-\r
-#else\r
-\r
-template<class R> struct bind_t_generator\r
-{\r
-\r
-template<class F, class L> class implementation\r
-{\r
-public:\r
-\r
-    typedef implementation this_type;\r
-\r
-    implementation(F f, L const & l): f_(f), l_(l) {}\r
-\r
-#define BOOST_BIND_RETURN return\r
-#include <boost/bind/bind_template.hpp>\r
-#undef BOOST_BIND_RETURN\r
-\r
-};\r
-\r
-};\r
-\r
-template<> struct bind_t_generator<void>\r
-{\r
-\r
-template<class F, class L> class implementation\r
-{\r
-private:\r
-\r
-    typedef void R;\r
-\r
-public:\r
-\r
-    typedef implementation this_type;\r
-\r
-    implementation(F f, L const & l): f_(f), l_(l) {}\r
-\r
-#define BOOST_BIND_RETURN\r
-#include <boost/bind/bind_template.hpp>\r
-#undef BOOST_BIND_RETURN\r
-\r
-};\r
-\r
-};\r
-\r
-template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>\r
-{\r
-public:\r
-\r
-    bind_t(F f, L const & l): bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}\r
-\r
-};\r
-\r
-#endif\r
-\r
-// function_equal\r
-\r
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
-\r
-// put overloads in _bi, rely on ADL\r
-\r
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
-\r
-template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )\r
-{\r
-    return a.compare(b);\r
-}\r
-\r
-# else\r
-\r
-template<class R, class F, class L> bool function_equal_impl( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )\r
-{\r
-    return a.compare(b);\r
-}\r
-\r
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
-\r
-#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
-\r
-// put overloads in boost\r
-\r
-} // namespace _bi\r
-\r
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
-\r
-template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )\r
-{\r
-    return a.compare(b);\r
-}\r
-\r
-# else\r
-\r
-template<class R, class F, class L> bool function_equal_impl( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b, int )\r
-{\r
-    return a.compare(b);\r
-}\r
-\r
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING\r
-\r
-namespace _bi\r
-{\r
-\r
-#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP\r
-\r
-// add_value\r
-\r
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)\r
-\r
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )\r
-\r
-template<class T> struct add_value\r
-{\r
-    typedef _bi::value<T> type;\r
-};\r
-\r
-#else\r
-\r
-template< class T, int I > struct add_value_2\r
-{\r
-    typedef boost::arg<I> type;\r
-};\r
-\r
-template< class T > struct add_value_2< T, 0 >\r
-{\r
-    typedef _bi::value< T > type;\r
-};\r
-\r
-template<class T> struct add_value\r
-{\r
-    typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;\r
-};\r
-\r
-#endif\r
-\r
-template<class T> struct add_value< value<T> >\r
-{\r
-    typedef _bi::value<T> type;\r
-};\r
-\r
-template<class T> struct add_value< reference_wrapper<T> >\r
-{\r
-    typedef reference_wrapper<T> type;\r
-};\r
-\r
-template<int I> struct add_value< arg<I> >\r
-{\r
-    typedef boost::arg<I> type;\r
-};\r
-\r
-template<int I> struct add_value< arg<I> (*) () >\r
-{\r
-    typedef boost::arg<I> (*type) ();\r
-};\r
-\r
-template<class R, class F, class L> struct add_value< bind_t<R, F, L> >\r
-{\r
-    typedef bind_t<R, F, L> type;\r
-};\r
-\r
-#else\r
-\r
-template<int I> struct _avt_0;\r
-\r
-template<> struct _avt_0<1>\r
-{\r
-    template<class T> struct inner\r
-    {\r
-        typedef T type;\r
-    };\r
-};\r
-\r
-template<> struct _avt_0<2>\r
-{\r
-    template<class T> struct inner\r
-    {\r
-        typedef value<T> type;\r
-    };\r
-};\r
-\r
-typedef char (&_avt_r1) [1];\r
-typedef char (&_avt_r2) [2];\r
-\r
-template<class T> _avt_r1 _avt_f(value<T>);\r
-template<class T> _avt_r1 _avt_f(reference_wrapper<T>);\r
-template<int I> _avt_r1 _avt_f(arg<I>);\r
-template<int I> _avt_r1 _avt_f(arg<I> (*) ());\r
-template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);\r
-\r
-_avt_r2 _avt_f(...);\r
-\r
-template<class T> struct add_value\r
-{\r
-    static T t();\r
-    typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;\r
-};\r
-\r
-#endif\r
-\r
-// list_av_N\r
-\r
-template<class A1> struct list_av_1\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef list1<B1> type;\r
-};\r
-\r
-template<class A1, class A2> struct list_av_2\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef list2<B1, B2> type;\r
-};\r
-\r
-template<class A1, class A2, class A3> struct list_av_3\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef list3<B1, B2, B3> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4> struct list_av_4\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef list4<B1, B2, B3, B4> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5> struct list_av_5\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef typename add_value<A5>::type B5;\r
-    typedef list5<B1, B2, B3, B4, B5> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef typename add_value<A5>::type B5;\r
-    typedef typename add_value<A6>::type B6;\r
-    typedef list6<B1, B2, B3, B4, B5, B6> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef typename add_value<A5>::type B5;\r
-    typedef typename add_value<A6>::type B6;\r
-    typedef typename add_value<A7>::type B7;\r
-    typedef list7<B1, B2, B3, B4, B5, B6, B7> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef typename add_value<A5>::type B5;\r
-    typedef typename add_value<A6>::type B6;\r
-    typedef typename add_value<A7>::type B7;\r
-    typedef typename add_value<A8>::type B8;\r
-    typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct list_av_9\r
-{\r
-    typedef typename add_value<A1>::type B1;\r
-    typedef typename add_value<A2>::type B2;\r
-    typedef typename add_value<A3>::type B3;\r
-    typedef typename add_value<A4>::type B4;\r
-    typedef typename add_value<A5>::type B5;\r
-    typedef typename add_value<A6>::type B6;\r
-    typedef typename add_value<A7>::type B7;\r
-    typedef typename add_value<A8>::type B8;\r
-    typedef typename add_value<A9>::type B9;\r
-    typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;\r
-};\r
-\r
-// operator!\r
-\r
-struct logical_not\r
-{\r
-    template<class V> bool operator()(V const & v) const { return !v; }\r
-};\r
-\r
-template<class R, class F, class L>\r
-    bind_t< bool, logical_not, list1< bind_t<R, F, L> > >\r
-    operator! (bind_t<R, F, L> const & f)\r
-{\r
-    typedef list1< bind_t<R, F, L> > list_type;\r
-    return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );\r
-}\r
-\r
-// relational operators\r
-\r
-#define BOOST_BIND_OPERATOR( op, name ) \\r
-\\r
-struct name \\r
-{ \\r
-    template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } \\r
-}; \\r
- \\r
-template<class R, class F, class L, class A2> \\r
-    bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > \\r
-    operator op (bind_t<R, F, L> const & f, A2 a2) \\r
-{ \\r
-    typedef typename add_value<A2>::type B2; \\r
-    typedef list2< bind_t<R, F, L>, B2> list_type; \\r
-    return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \\r
-}\r
-\r
-BOOST_BIND_OPERATOR( ==, equal )\r
-BOOST_BIND_OPERATOR( !=, not_equal )\r
-\r
-BOOST_BIND_OPERATOR( <, less )\r
-BOOST_BIND_OPERATOR( <=, less_equal )\r
-\r
-BOOST_BIND_OPERATOR( >, greater )\r
-BOOST_BIND_OPERATOR( >=, greater_equal )\r
-\r
-BOOST_BIND_OPERATOR( &&, logical_and )\r
-BOOST_BIND_OPERATOR( ||, logical_or )\r
-\r
-#undef BOOST_BIND_OPERATOR\r
-\r
-#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)\r
-\r
-// resolve ambiguity with rel_ops\r
-\r
-#define BOOST_BIND_OPERATOR( op, name ) \\r
-\\r
-template<class R, class F, class L> \\r
-    bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \\r
-    operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \\r
-{ \\r
-    typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \\r
-    return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \\r
-}\r
-\r
-BOOST_BIND_OPERATOR( !=, not_equal )\r
-BOOST_BIND_OPERATOR( <=, less_equal )\r
-BOOST_BIND_OPERATOR( >, greater )\r
-BOOST_BIND_OPERATOR( >=, greater_equal )\r
-\r
-#endif\r
-\r
-// visit_each, ADL\r
-\r
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \\r
-   && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)\r
-\r
-template<class V, class T> void visit_each( V & v, value<T> const & t, int )\r
-{\r
-    using boost::visit_each;\r
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );\r
-}\r
-\r
-template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )\r
-{\r
-    t.accept( v );\r
-}\r
-\r
-#endif\r
-\r
-} // namespace _bi\r
-\r
-// visit_each, no ADL\r
-\r
-#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \\r
-  || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)\r
-\r
-template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )\r
-{\r
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );\r
-}\r
-\r
-template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )\r
-{\r
-    t.accept( v );\r
-}\r
-\r
-#endif\r
-\r
-// is_bind_expression\r
-\r
-template< class T > struct is_bind_expression\r
-{\r
-    enum _vt { value = 0 };\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >\r
-{\r
-    enum _vt { value = 1 };\r
-};\r
-\r
-#endif\r
-\r
-// bind\r
-\r
-#ifndef BOOST_BIND\r
-#define BOOST_BIND bind\r
-#endif\r
-\r
-// generic function objects\r
-\r
-template<class R, class F>\r
-    _bi::bind_t<R, F, _bi::list0>\r
-    BOOST_BIND(F f)\r
-{\r
-    typedef _bi::list0 list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type());\r
-}\r
-\r
-template<class R, class F, class A1>\r
-    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(F f, A1 a1)\r
-{\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
-}\r
-\r
-template<class R, class F, class A1, class A2>\r
-    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2)\r
-{\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3>\r
-    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
-\r
-// generic function objects, alternative syntax\r
-\r
-template<class R, class F>\r
-    _bi::bind_t<R, F, _bi::list0>\r
-    BOOST_BIND(boost::type<R>, F f)\r
-{\r
-    typedef _bi::list0 list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type());\r
-}\r
-\r
-template<class R, class F, class A1>\r
-    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1)\r
-{\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
-}\r
-\r
-template<class R, class F, class A1, class A2>\r
-    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2)\r
-{\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3>\r
-    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
-\r
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
-\r
-// adaptable function objects\r
-\r
-template<class F>\r
-    _bi::bind_t<_bi::unspecified, F, _bi::list0>\r
-    BOOST_BIND(F f)\r
-{\r
-    typedef _bi::list0 list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());\r
-}\r
-\r
-template<class F, class A1>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(F f, A1 a1)\r
-{\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));\r
-}\r
-\r
-template<class F, class A1, class A2>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2)\r
-{\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
-\r
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
-\r
-// function pointers\r
-\r
-#define BOOST_BIND_CC\r
-#define BOOST_BIND_ST\r
-\r
-#include <boost/bind/bind_cc.hpp>\r
-\r
-#undef BOOST_BIND_CC\r
-#undef BOOST_BIND_ST\r
-\r
-#ifdef BOOST_BIND_ENABLE_STDCALL\r
-\r
-#define BOOST_BIND_CC __stdcall\r
-#define BOOST_BIND_ST\r
-\r
-#include <boost/bind/bind_cc.hpp>\r
-\r
-#undef BOOST_BIND_CC\r
-#undef BOOST_BIND_ST\r
-\r
-#endif\r
-\r
-#ifdef BOOST_BIND_ENABLE_FASTCALL\r
-\r
-#define BOOST_BIND_CC __fastcall\r
-#define BOOST_BIND_ST\r
-\r
-#include <boost/bind/bind_cc.hpp>\r
-\r
-#undef BOOST_BIND_CC\r
-#undef BOOST_BIND_ST\r
-\r
-#endif\r
-\r
-#ifdef BOOST_BIND_ENABLE_PASCAL\r
-\r
-#define BOOST_BIND_ST pascal\r
-#define BOOST_BIND_CC\r
-\r
-#include <boost/bind/bind_cc.hpp>\r
-\r
-#undef BOOST_BIND_ST\r
-#undef BOOST_BIND_CC\r
-\r
-#endif\r
-\r
-// member function pointers\r
-\r
-#define BOOST_BIND_MF_NAME(X) X\r
-#define BOOST_BIND_MF_CC\r
-\r
-#include <boost/bind/bind_mf_cc.hpp>\r
-#include <boost/bind/bind_mf2_cc.hpp>\r
-\r
-#undef BOOST_BIND_MF_NAME\r
-#undef BOOST_BIND_MF_CC\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_BIND_MF_NAME(X) X##_cdecl\r
-#define BOOST_BIND_MF_CC __cdecl\r
-\r
-#include <boost/bind/bind_mf_cc.hpp>\r
-#include <boost/bind/bind_mf2_cc.hpp>\r
-\r
-#undef BOOST_BIND_MF_NAME\r
-#undef BOOST_BIND_MF_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_BIND_MF_NAME(X) X##_stdcall\r
-#define BOOST_BIND_MF_CC __stdcall\r
-\r
-#include <boost/bind/bind_mf_cc.hpp>\r
-#include <boost/bind/bind_mf2_cc.hpp>\r
-\r
-#undef BOOST_BIND_MF_NAME\r
-#undef BOOST_BIND_MF_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_BIND_MF_NAME(X) X##_fastcall\r
-#define BOOST_BIND_MF_CC __fastcall\r
-\r
-#include <boost/bind/bind_mf_cc.hpp>\r
-#include <boost/bind/bind_mf2_cc.hpp>\r
-\r
-#undef BOOST_BIND_MF_NAME\r
-#undef BOOST_BIND_MF_CC\r
-\r
-#endif\r
-\r
-// data member pointers\r
-\r
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
-    || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) )\r
-\r
-template<class R, class T, class A1>\r
-_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >\r
-    BOOST_BIND(R T::*f, A1 a1)\r
-{\r
-    typedef _mfi::dm<R, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );\r
-}\r
-\r
-#else\r
-\r
-namespace _bi\r
-{\r
-\r
-template< class Pm, int I > struct add_cref;\r
-\r
-template< class M, class T > struct add_cref< M T::*, 0 >\r
-{\r
-    typedef M type;\r
-};\r
-\r
-template< class M, class T > struct add_cref< M T::*, 1 >\r
-{\r
-#ifdef BOOST_MSVC\r
-#pragma warning(push)\r
-#pragma warning(disable:4180)\r
-#endif\r
-    typedef M const & type;\r
-#ifdef BOOST_MSVC\r
-#pragma warning(pop)\r
-#endif\r
-};\r
-\r
-template< class R, class T > struct add_cref< R (T::*) (), 1 >\r
-{\r
-    typedef void type;\r
-};\r
-\r
-#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION\r
-\r
-template< class R, class T > struct add_cref< R (T::*) () const, 1 >\r
-{\r
-    typedef void type;\r
-};\r
-\r
-#endif // __IBMCPP__\r
-\r
-template<class R> struct isref\r
-{\r
-    enum value_type { value = 0 };\r
-};\r
-\r
-template<class R> struct isref< R& >\r
-{\r
-    enum value_type { value = 1 };\r
-};\r
-\r
-template<class R> struct isref< R* >\r
-{\r
-    enum value_type { value = 1 };\r
-};\r
-\r
-template<class Pm, class A1> struct dm_result\r
-{\r
-    typedef typename add_cref< Pm, 1 >::type type;\r
-};\r
-\r
-template<class Pm, class R, class F, class L> struct dm_result< Pm, bind_t<R, F, L> >\r
-{\r
-    typedef typename bind_t<R, F, L>::result_type result_type;\r
-    typedef typename add_cref< Pm, isref< result_type >::value >::type type;\r
-};\r
-\r
-} // namespace _bi\r
-\r
-template< class A1, class M, class T >\r
-\r
-_bi::bind_t<\r
-    typename _bi::dm_result< M T::*, A1 >::type,\r
-    _mfi::dm<M, T>,\r
-    typename _bi::list_av_1<A1>::type\r
->\r
-\r
-BOOST_BIND( M T::*f, A1 a1 )\r
-{\r
-    typedef typename _bi::dm_result< M T::*, A1 >::type result_type;\r
-    typedef _mfi::dm<M, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );\r
-}\r
-\r
-#endif\r
-\r
-} // namespace boost\r
-\r
-#ifndef BOOST_BIND_NO_PLACEHOLDERS\r
-\r
-# include <boost/bind/placeholders.hpp>\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MSVC\r
-# pragma warning(default: 4512) // assignment operator could not be generated\r
-# pragma warning(pop)\r
-#endif\r
-\r
-#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/bind/bind_cc.hpp b/Externals/boost/boost/bind/bind_cc.hpp
deleted file mode 100644 (file)
index 9d8ca21..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-//\r
-//  bind/bind_cc.hpp - support for different calling conventions\r
-//\r
-//  Do not include this header directly.\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-template<class R>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (), _bi::list0>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) ())\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) ();\r
-    typedef _bi::list0 list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type());\r
-}\r
-\r
-template<class R, class B1, class A1>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1), typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1);\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));\r
-}\r
-\r
-template<class R, class B1, class B2, class A1, class A2>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2);\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3,\r
-    class A1, class A2, class A3>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3);\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4,\r
-    class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4);\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4, class B5,\r
-    class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5);\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4, class B5, class B6,\r
-    class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6);\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7);\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8);\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class R,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
diff --git a/Externals/boost/boost/bind/bind_mf2_cc.hpp b/Externals/boost/boost/bind/bind_mf2_cc.hpp
deleted file mode 100644 (file)
index f3b90c9..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-//\r
-//  bind/bind_mf2_cc.hpp - member functions, type<> syntax\r
-//\r
-//  Do not include this header directly.\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//  Copyright (c) 2008 Peter Dimov\r
-//\r
-//  Distributed under the Boost Software License, Version 1.0.\r
-//  See accompanying file LICENSE_1_0.txt or copy at\r
-//  http://www.boost.org/LICENSE_1_0.txt\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-// 0\r
-\r
-template<class Rt2, class R, class T,\r
-    class A1>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (), A1 a1)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class A1>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));\r
-}\r
-\r
-// 1\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1,\r
-    class A1, class A2>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1,\r
-    class A1, class A2>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));\r
-}\r
-\r
-// 2\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2,\r
-    class A1, class A2, class A3>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2,\r
-    class A1, class A2, class A3>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));\r
-}\r
-\r
-// 3\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3,\r
-    class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3,\r
-    class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
-}\r
-\r
-// 4\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4,\r
-    class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4,\r
-    class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-// 5\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5,\r
-    class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5,\r
-    class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-// 6\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-// 7\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-// 8\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
-\r
-template<class Rt2, class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
diff --git a/Externals/boost/boost/bind/bind_mf_cc.hpp b/Externals/boost/boost/bind/bind_mf_cc.hpp
deleted file mode 100644 (file)
index 49f43a1..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-//\r
-//  bind/bind_mf_cc.hpp - support for different calling conventions\r
-//\r
-//  Do not include this header directly.\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-// 0\r
-\r
-template<class R, class T,\r
-    class A1>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));\r
-}\r
-\r
-template<class R, class T,\r
-    class A1>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;\r
-    typedef typename _bi::list_av_1<A1>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));\r
-}\r
-\r
-// 1\r
-\r
-template<class R, class T,\r
-    class B1,\r
-    class A1, class A2>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1,\r
-    class A1, class A2>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;\r
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));\r
-}\r
-\r
-// 2\r
-\r
-template<class R, class T,\r
-    class B1, class B2,\r
-    class A1, class A2, class A3>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2,\r
-    class A1, class A2, class A3>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;\r
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));\r
-}\r
-\r
-// 3\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3,\r
-    class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3,\r
-    class A1, class A2, class A3, class A4>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;\r
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));\r
-}\r
-\r
-// 4\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4,\r
-    class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4,\r
-    class A1, class A2, class A3, class A4, class A5>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;\r
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));\r
-}\r
-\r
-// 5\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5,\r
-    class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5,\r
-    class A1, class A2, class A3, class A4, class A5, class A6>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;\r
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));\r
-}\r
-\r
-// 6\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;\r
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));\r
-}\r
-\r
-// 7\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;\r
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));\r
-}\r
-\r
-// 8\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
-\r
-template<class R, class T,\r
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,\r
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>\r
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>\r
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)\r
-{\r
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;\r
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;\r
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));\r
-}\r
diff --git a/Externals/boost/boost/bind/bind_template.hpp b/Externals/boost/boost/bind/bind_template.hpp
deleted file mode 100644 (file)
index d394a9b..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-//\r
-//  bind/bind_template.hpp\r
-//\r
-//  Do not include this header directly.\r
-//\r
-//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-    typedef typename result_traits<R, F>::type result_type;\r
-\r
-    result_type operator()()\r
-    {\r
-        list0 a;\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    result_type operator()() const\r
-    {\r
-        list0 a;\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1> result_type operator()(A1 & a1)\r
-    {\r
-        list1<A1 &> a(a1);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1> result_type operator()(A1 & a1) const\r
-    {\r
-        list1<A1 &> a(a1);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1> result_type operator()(A1 const & a1)\r
-    {\r
-        list1<A1 const &> a(a1);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1> result_type operator()(A1 const & a1) const\r
-    {\r
-        list1<A1 const &> a(a1);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)\r
-    {\r
-        list2<A1 &, A2 &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const\r
-    {\r
-        list2<A1 &, A2 &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)\r
-    {\r
-        list2<A1 const &, A2 &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const\r
-    {\r
-        list2<A1 const &, A2 &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-\r
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)\r
-    {\r
-        list2<A1 &, A2 const &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const\r
-    {\r
-        list2<A1 &, A2 const &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-\r
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)\r
-    {\r
-        list2<A1 const &, A2 const &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const\r
-    {\r
-        list2<A1 const &, A2 const &> a(a1, a2);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)\r
-    {\r
-        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const\r
-    {\r
-        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)\r
-    {\r
-        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const\r
-    {\r
-        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)\r
-    {\r
-        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const\r
-    {\r
-        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)\r
-    {\r
-        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const\r
-    {\r
-        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)\r
-    {\r
-        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const\r
-    {\r
-        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)\r
-    {\r
-        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const\r
-    {\r
-        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)\r
-    {\r
-        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const\r
-    {\r
-        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)\r
-    {\r
-        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const\r
-    {\r
-        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)\r
-    {\r
-        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const\r
-    {\r
-        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)\r
-    {\r
-        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const\r
-    {\r
-        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)\r
-    {\r
-        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const\r
-    {\r
-        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)\r
-    {\r
-        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const\r
-    {\r
-        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)\r
-    {\r
-        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const\r
-    {\r
-        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \\r
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)\r
-    {\r
-        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const\r
-    {\r
-        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-#endif\r
-\r
-    template<class A> result_type eval(A & a)\r
-    {\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class A> result_type eval(A & a) const\r
-    {\r
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);\r
-    }\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )\r
-\r
-        using boost::visit_each;\r
-\r
-#endif\r
-        BOOST_BIND_VISIT_EACH(v, f_, 0);\r
-        l_.accept(v);\r
-    }\r
-\r
-    bool compare(this_type const & rhs) const\r
-    {\r
-        return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_;\r
-    }\r
-\r
-private:\r
-\r
-    F f_;\r
-    L l_;\r
diff --git a/Externals/boost/boost/bind/mem_fn.hpp b/Externals/boost/boost/bind/mem_fn.hpp
deleted file mode 100644 (file)
index 86c61e4..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED\r
-#define BOOST_BIND_MEM_FN_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  mem_fn.hpp - a generalization of std::mem_fun[_ref]\r
-//\r
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
-//  Copyright (c) 2001 David Abrahams\r
-//  Copyright (c) 2003-2005 Peter Dimov\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
-//\r
-\r
-#include <boost/config.hpp>\r
-#include <boost/get_pointer.hpp>\r
-#include <boost/detail/workaround.hpp>\r
-\r
-namespace boost\r
-{\r
-\r
-#if defined(BOOST_NO_VOID_RETURNS)\r
-\r
-#define BOOST_MEM_FN_CLASS_F , class F\r
-#define BOOST_MEM_FN_TYPEDEF(X)\r
-\r
-namespace _mfi // mem_fun_impl\r
-{\r
-\r
-template<class V> struct mf\r
-{\r
-\r
-#define BOOST_MEM_FN_RETURN return\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X\r
-#define BOOST_MEM_FN_CC\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl\r
-#define BOOST_MEM_FN_CC __cdecl\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall\r
-#define BOOST_MEM_FN_CC __stdcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall\r
-#define BOOST_MEM_FN_CC __fastcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#undef BOOST_MEM_FN_RETURN\r
-\r
-}; // struct mf<V>\r
-\r
-template<> struct mf<void>\r
-{\r
-\r
-#define BOOST_MEM_FN_RETURN\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X\r
-#define BOOST_MEM_FN_CC\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl\r
-#define BOOST_MEM_FN_CC __cdecl\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall\r
-#define BOOST_MEM_FN_CC __stdcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall\r
-#define BOOST_MEM_FN_CC __fastcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#undef BOOST_MEM_FN_RETURN\r
-\r
-}; // struct mf<void>\r
-\r
-#undef BOOST_MEM_FN_CLASS_F\r
-#undef BOOST_MEM_FN_TYPEDEF_F\r
-\r
-#define BOOST_MEM_FN_NAME(X) X\r
-#define BOOST_MEM_FN_NAME2(X) inner_##X\r
-#define BOOST_MEM_FN_CC\r
-\r
-#include <boost/bind/mem_fn_vw.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_NAME2\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl\r
-#define BOOST_MEM_FN_CC __cdecl\r
-\r
-#include <boost/bind/mem_fn_vw.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_NAME2\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall\r
-#define BOOST_MEM_FN_CC __stdcall\r
-\r
-#include <boost/bind/mem_fn_vw.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_NAME2\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall\r
-#define BOOST_MEM_FN_CC __fastcall\r
-\r
-#include <boost/bind/mem_fn_vw.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_NAME2\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-} // namespace _mfi\r
-\r
-#else // #ifdef BOOST_NO_VOID_RETURNS\r
-\r
-#define BOOST_MEM_FN_CLASS_F\r
-#define BOOST_MEM_FN_TYPEDEF(X) typedef X;\r
-\r
-namespace _mfi\r
-{\r
-\r
-#define BOOST_MEM_FN_RETURN return\r
-\r
-#define BOOST_MEM_FN_NAME(X) X\r
-#define BOOST_MEM_FN_CC\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
-#define BOOST_MEM_FN_CC __cdecl\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
-#define BOOST_MEM_FN_CC __stdcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
-#define BOOST_MEM_FN_CC __fastcall\r
-\r
-#include <boost/bind/mem_fn_template.hpp>\r
-\r
-#undef BOOST_MEM_FN_CC\r
-#undef BOOST_MEM_FN_NAME\r
-\r
-#endif\r
-\r
-#undef BOOST_MEM_FN_RETURN\r
-\r
-} // namespace _mfi\r
-\r
-#undef BOOST_MEM_FN_CLASS_F\r
-#undef BOOST_MEM_FN_TYPEDEF\r
-\r
-#endif // #ifdef BOOST_NO_VOID_RETURNS\r
-\r
-#define BOOST_MEM_FN_NAME(X) X\r
-#define BOOST_MEM_FN_CC\r
-\r
-#include <boost/bind/mem_fn_cc.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CDECL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_cdecl\r
-#define BOOST_MEM_FN_CC __cdecl\r
-\r
-#include <boost/bind/mem_fn_cc.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_stdcall\r
-#define BOOST_MEM_FN_CC __stdcall\r
-\r
-#include <boost/bind/mem_fn_cc.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL\r
-\r
-#define BOOST_MEM_FN_NAME(X) X##_fastcall\r
-#define BOOST_MEM_FN_CC __fastcall\r
-\r
-#include <boost/bind/mem_fn_cc.hpp>\r
-\r
-#undef BOOST_MEM_FN_NAME\r
-#undef BOOST_MEM_FN_CC\r
-\r
-#endif\r
-\r
-// data member support\r
-\r
-namespace _mfi\r
-{\r
-\r
-template<class R, class T> class dm\r
-{\r
-public:\r
-\r
-    typedef R const & result_type;\r
-    typedef T const * argument_type;\r
-\r
-private:\r
-    \r
-    typedef R (T::*F);\r
-    F f_;\r
-\r
-    template<class U> R const & call(U & u, T const *) const\r
-    {\r
-        return (u.*f_);\r
-    }\r
-\r
-    template<class U> R const & call(U & u, void const *) const\r
-    {\r
-        return (get_pointer(u)->*f_);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit dm(F f): f_(f) {}\r
-\r
-    R & operator()(T * p) const\r
-    {\r
-        return (p->*f_);\r
-    }\r
-\r
-    R const & operator()(T const * p) const\r
-    {\r
-        return (p->*f_);\r
-    }\r
-\r
-    template<class U> R const & operator()(U const & u) const\r
-    {\r
-        return call(u, &u);\r
-    }\r
-\r
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200)\r
-\r
-    R & operator()(T & t) const\r
-    {\r
-        return (t.*f_);\r
-    }\r
-\r
-    R const & operator()(T const & t) const\r
-    {\r
-        return (t.*f_);\r
-    }\r
-\r
-#endif\r
-\r
-    bool operator==(dm const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(dm const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-} // namespace _mfi\r
-\r
-template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)\r
-{\r
-    return _mfi::dm<R, T>(f);\r
-}\r
-\r
-} // namespace boost\r
-\r
-#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/bind/mem_fn_cc.hpp b/Externals/boost/boost/bind/mem_fn_cc.hpp
deleted file mode 100644 (file)
index afc35bf..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-//\r
-//  bind/mem_fn_cc.hpp - support for different calling conventions\r
-//\r
-//  Do not include this header directly.\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
-//\r
-\r
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(mf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) ())\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf0)<R, T>(f);\r
-}\r
-\r
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) () const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T>(f);\r
-}\r
-\r
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1>(f);\r
-}\r
-\r
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);\r
-}\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)\r
-{\r
-    return _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);\r
-}\r
diff --git a/Externals/boost/boost/bind/mem_fn_template.hpp b/Externals/boost/boost/bind/mem_fn_template.hpp
deleted file mode 100644 (file)
index 0392c61..0000000
+++ /dev/null
@@ -1,1047 +0,0 @@
-//\r
-//  bind/mem_fn_template.hpp\r
-//\r
-//  Do not include this header directly\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
-//\r
-\r
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\r
-# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-#endif\r
-\r
-// mf0\r
-\r
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf0)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-    typedef T * argument_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ())\r
-    F f_;\r
-\r
-    template<class U> R call(U & u, T const *) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)();\r
-    }\r
-\r
-    template<class U> R call(U & u, void const *) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {}\r
-\r
-    R operator()(T * p) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)();\r
-    }\r
-\r
-    template<class U> R operator()(U & u) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)();\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf0\r
-\r
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf0)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-    typedef T const * argument_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const)\r
-    F f_;\r
-\r
-    template<class U> R call(U & u, T const *) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)();\r
-    }\r
-\r
-    template<class U> R call(U & u, void const *) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p);\r
-    }\r
-\r
-    R operator()(T const & t) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)();\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf1\r
-\r
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf1)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-    typedef T * first_argument_type;\r
-    typedef A1 second_argument_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1))\r
-    F f_;\r
-\r
-    template<class U, class B1> R call(U & u, T const *, B1 & b1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);\r
-    }\r
-\r
-    template<class U, class B1> R call(U & u, void const *, B1 & b1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf1\r
-\r
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf1)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-    typedef T const * first_argument_type;\r
-    typedef A1 second_argument_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const)\r
-    F f_;\r
-\r
-    template<class U, class B1> R call(U & u, T const *, B1 & b1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);\r
-    }\r
-\r
-    template<class U, class B1> R call(U & u, void const *, B1 & b1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf2\r
-\r
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf2)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);\r
-    }\r
-\r
-    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf2\r
-\r
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf2)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);\r
-    }\r
-\r
-    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf3\r
-\r
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf3)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf3\r
-\r
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf3)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-\r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);\r
-    }\r
-\r
-public:\r
-\r
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf4\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf4)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf4\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf4)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf5\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf5)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf5\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf5)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf6\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf6)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-\r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);\r
-    }\r
-\r
-public:\r
-\r
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf6\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf6)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf7\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf7)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf7\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf7)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {}\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// mf8\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf8)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8))\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {}\r
-\r
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-#endif\r
-\r
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-// cmf8\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf8)\r
-{\r
-public:\r
-\r
-    typedef R result_type;\r
-\r
-private:\r
-    \r
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const)\r
-    F f_;\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
-    }\r
-\r
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);\r
-    }\r
-\r
-public:\r
-    \r
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {}\r
-\r
-    R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        U const * p = 0;\r
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const\r
-    {\r
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);\r
-    }\r
-\r
-    bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const\r
-    {\r
-        return f_ == rhs.f_;\r
-    }\r
-\r
-    bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const\r
-    {\r
-        return f_ != rhs.f_;\r
-    }\r
-};\r
-\r
-#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS\r
diff --git a/Externals/boost/boost/bind/mem_fn_vw.hpp b/Externals/boost/boost/bind/mem_fn_vw.hpp
deleted file mode 100644 (file)
index 7f7daef..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-//\r
-//  bind/mem_fn_vw.hpp - void return helper wrappers\r
-//\r
-//  Do not include this header directly\r
-//\r
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
-//\r
-\r
-template<class R, class T> struct BOOST_MEM_FN_NAME(mf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, R (BOOST_MEM_FN_CC T::*) ()>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) ();\r
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, F>(f) {}\r
-};\r
-\r
-template<class R, class T> struct BOOST_MEM_FN_NAME(cmf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, R (BOOST_MEM_FN_CC T::*) () const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) () const;\r
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(mf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1);\r
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(cmf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(mf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2);\r
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(cmf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(mf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3);\r
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(cmf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(mf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4);\r
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(cmf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(mf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5);\r
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(cmf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(mf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6);\r
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(cmf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(mf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7);\r
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(cmf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}\r
-};\r
-\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(mf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8)>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);\r
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}\r
-};\r
-\r
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(cmf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8) const>\r
-{\r
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;\r
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}\r
-};\r
-\r
diff --git a/Externals/boost/boost/bind/placeholders.hpp b/Externals/boost/boost/bind/placeholders.hpp
deleted file mode 100644 (file)
index 0b479ab..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
-#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  bind/placeholders.hpp - _N definitions\r
-//\r
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-#include <boost/bind/arg.hpp>\r
-#include <boost/config.hpp>\r
-\r
-namespace\r
-{\r
-\r
-#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4)\r
-\r
-static inline boost::arg<1> _1() { return boost::arg<1>(); }\r
-static inline boost::arg<2> _2() { return boost::arg<2>(); }\r
-static inline boost::arg<3> _3() { return boost::arg<3>(); }\r
-static inline boost::arg<4> _4() { return boost::arg<4>(); }\r
-static inline boost::arg<5> _5() { return boost::arg<5>(); }\r
-static inline boost::arg<6> _6() { return boost::arg<6>(); }\r
-static inline boost::arg<7> _7() { return boost::arg<7>(); }\r
-static inline boost::arg<8> _8() { return boost::arg<8>(); }\r
-static inline boost::arg<9> _9() { return boost::arg<9>(); }\r
-\r
-#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \\r
-    defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2)  \r
-\r
-static boost::arg<1> _1;\r
-static boost::arg<2> _2;\r
-static boost::arg<3> _3;\r
-static boost::arg<4> _4;\r
-static boost::arg<5> _5;\r
-static boost::arg<6> _6;\r
-static boost::arg<7> _7;\r
-static boost::arg<8> _8;\r
-static boost::arg<9> _9;\r
-\r
-#else\r
-\r
-boost::arg<1> _1;\r
-boost::arg<2> _2;\r
-boost::arg<3> _3;\r
-boost::arg<4> _4;\r
-boost::arg<5> _5;\r
-boost::arg<6> _6;\r
-boost::arg<7> _7;\r
-boost::arg<8> _8;\r
-boost::arg<9> _9;\r
-\r
-#endif\r
-\r
-} // unnamed namespace\r
-\r
-#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/bind/storage.hpp b/Externals/boost/boost/bind/storage.hpp
deleted file mode 100644 (file)
index 512adc5..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED\r
-#define BOOST_BIND_STORAGE_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  bind/storage.hpp\r
-//\r
-//  boost/bind.hpp support header, optimized storage\r
-//\r
-//  Copyright (c) 2006 Peter Dimov\r
-//\r
-//  Distributed under the Boost Software License, Version 1.0.\r
-//  See accompanying file LICENSE_1_0.txt or copy at\r
-//  http://www.boost.org/LICENSE_1_0.txt\r
-//\r
-//  See http://www.boost.org/libs/bind/bind.html for documentation.\r
-//\r
-\r
-#include <boost/config.hpp>\r
-#include <boost/bind/arg.hpp>\r
-\r
-#ifdef BOOST_MSVC\r
-# pragma warning(push)\r
-# pragma warning(disable: 4512) // assignment operator could not be generated\r
-#endif\r
-\r
-namespace boost\r
-{\r
-\r
-namespace _bi\r
-{\r
-\r
-// 1\r
-\r
-template<class A1> struct storage1\r
-{\r
-    explicit storage1( A1 a1 ): a1_( a1 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        BOOST_BIND_VISIT_EACH(v, a1_, 0);\r
-    }\r
-\r
-    A1 a1_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ )\r
-\r
-template<int I> struct storage1< boost::arg<I> >\r
-{\r
-    explicit storage1( boost::arg<I> ) {}\r
-\r
-    template<class V> void accept(V &) const { }\r
-\r
-    static boost::arg<I> a1_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<int I> struct storage1< boost::arg<I> (*) () >\r
-{\r
-    explicit storage1( boost::arg<I> (*) () ) {}\r
-\r
-    template<class V> void accept(V &) const { }\r
-\r
-    static boost::arg<I> a1_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 2\r
-\r
-template<class A1, class A2> struct storage2: public storage1<A1>\r
-{\r
-    typedef storage1<A1> inherited;\r
-\r
-    storage2( A1 a1, A2 a2 ): storage1<A1>( a1 ), a2_( a2 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a2_, 0);\r
-    }\r
-\r
-    A2 a2_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, int I> struct storage2< A1, boost::arg<I> >: public storage1<A1>\r
-{\r
-    typedef storage1<A1> inherited;\r
-\r
-    storage2( A1 a1, boost::arg<I> ): storage1<A1>( a1 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a2_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, int I> struct storage2< A1, boost::arg<I> (*) () >: public storage1<A1>\r
-{\r
-    typedef storage1<A1> inherited;\r
-\r
-    storage2( A1 a1, boost::arg<I> (*) () ): storage1<A1>( a1 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a2_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 3\r
-\r
-template<class A1, class A2, class A3> struct storage3: public storage2< A1, A2 >\r
-{\r
-    typedef storage2<A1, A2> inherited;\r
-\r
-    storage3( A1 a1, A2 a2, A3 a3 ): storage2<A1, A2>( a1, a2 ), a3_( a3 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a3_, 0);\r
-    }\r
-\r
-    A3 a3_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> >: public storage2< A1, A2 >\r
-{\r
-    typedef storage2<A1, A2> inherited;\r
-\r
-    storage3( A1 a1, A2 a2, boost::arg<I> ): storage2<A1, A2>( a1, a2 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a3_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> (*) () >: public storage2< A1, A2 >\r
-{\r
-    typedef storage2<A1, A2> inherited;\r
-\r
-    storage3( A1 a1, A2 a2, boost::arg<I> (*) () ): storage2<A1, A2>( a1, a2 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a3_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 4\r
-\r
-template<class A1, class A2, class A3, class A4> struct storage4: public storage3< A1, A2, A3 >\r
-{\r
-    typedef storage3<A1, A2, A3> inherited;\r
-\r
-    storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3<A1, A2, A3>( a1, a2, a3 ), a4_( a4 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a4_, 0);\r
-    }\r
-\r
-    A4 a4_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> >: public storage3< A1, A2, A3 >\r
-{\r
-    typedef storage3<A1, A2, A3> inherited;\r
-\r
-    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> ): storage3<A1, A2, A3>( a1, a2, a3 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a4_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> (*) () >: public storage3< A1, A2, A3 >\r
-{\r
-    typedef storage3<A1, A2, A3> inherited;\r
-\r
-    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> (*) () ): storage3<A1, A2, A3>( a1, a2, a3 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a4_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 5\r
-\r
-template<class A1, class A2, class A3, class A4, class A5> struct storage5: public storage4< A1, A2, A3, A4 >\r
-{\r
-    typedef storage4<A1, A2, A3, A4> inherited;\r
-\r
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ), a5_( a5 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a5_, 0);\r
-    }\r
-\r
-    A5 a5_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> >: public storage4< A1, A2, A3, A4 >\r
-{\r
-    typedef storage4<A1, A2, A3, A4> inherited;\r
-\r
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a5_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> (*) () >: public storage4< A1, A2, A3, A4 >\r
-{\r
-    typedef storage4<A1, A2, A3, A4> inherited;\r
-\r
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> (*) () ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a5_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 6\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6> struct storage6: public storage5< A1, A2, A3, A4, A5 >\r
-{\r
-    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
-\r
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ), a6_( a6 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a6_, 0);\r
-    }\r
-\r
-    A6 a6_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> >: public storage5< A1, A2, A3, A4, A5 >\r
-{\r
-    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
-\r
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a6_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> (*) () >: public storage5< A1, A2, A3, A4, A5 >\r
-{\r
-    typedef storage5<A1, A2, A3, A4, A5> inherited;\r
-\r
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> (*) () ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a6_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 7\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct storage7: public storage6< A1, A2, A3, A4, A5, A6 >\r
-{\r
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
-\r
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a7_, 0);\r
-    }\r
-\r
-    A7 a7_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> >: public storage6< A1, A2, A3, A4, A5, A6 >\r
-{\r
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
-\r
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a7_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> (*) () >: public storage6< A1, A2, A3, A4, A5, A6 >\r
-{\r
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;\r
-\r
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> (*) () ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a7_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 8\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
-{\r
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
-\r
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a8_, 0);\r
-    }\r
-\r
-    A8 a8_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> >: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
-{\r
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
-\r
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a8_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 >\r
-{\r
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;\r
-\r
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> (*) () ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a8_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-// 9\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
-{\r
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
-\r
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-        BOOST_BIND_VISIT_EACH(v, a9_, 0);\r
-    }\r
-\r
-    A9 a9_;\r
-};\r
-\r
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
-{\r
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
-\r
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a9_() { return boost::arg<I>(); }\r
-};\r
-\r
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >\r
-{\r
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;\r
-\r
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> (*) () ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}\r
-\r
-    template<class V> void accept(V & v) const\r
-    {\r
-        inherited::accept(v);\r
-    }\r
-\r
-    static boost::arg<I> a9_() { return boost::arg<I>(); }\r
-};\r
-\r
-#endif\r
-\r
-} // namespace _bi\r
-\r
-} // namespace boost\r
-\r
-#ifdef BOOST_MSVC\r
-# pragma warning(default: 4512) // assignment operator could not be generated\r
-# pragma warning(pop)\r
-#endif\r
-\r
-#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/get_pointer.hpp b/Externals/boost/boost/get_pointer.hpp
deleted file mode 100644 (file)
index 894dc1c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright Peter Dimov and David Abrahams 2002.\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-#ifndef GET_POINTER_DWA20021219_HPP\r
-#define GET_POINTER_DWA20021219_HPP\r
-\r
-#include <boost/config.hpp>\r
-\r
-// In order to avoid circular dependencies with Boost.TR1\r
-// we make sure that our include of <memory> doesn't try to\r
-// pull in the TR1 headers: that's why we use this header \r
-// rather than including <memory> directly:\r
-#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr\r
-\r
-namespace boost { \r
-\r
-// get_pointer(p) extracts a ->* capable pointer from p\r
-\r
-template<class T> T * get_pointer(T * p)\r
-{\r
-    return p;\r
-}\r
-\r
-// get_pointer(shared_ptr<T> const & p) has been moved to shared_ptr.hpp\r
-\r
-template<class T> T * get_pointer(std::auto_ptr<T> const& p)\r
-{\r
-    return p.get();\r
-}\r
-\r
-#if !defined( BOOST_NO_CXX11_SMART_PTR )\r
-\r
-template<class T> T * get_pointer( std::unique_ptr<T> const& p )\r
-{\r
-    return p.get();\r
-}\r
-\r
-template<class T> T * get_pointer( std::shared_ptr<T> const& p )\r
-{\r
-    return p.get();\r
-}\r
-\r
-#endif\r
-\r
-} // namespace boost\r
-\r
-#endif // GET_POINTER_DWA20021219_HPP\r
diff --git a/Externals/boost/boost/is_placeholder.hpp b/Externals/boost/boost/is_placeholder.hpp
deleted file mode 100644 (file)
index cd061cb..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED\r
-#define BOOST_IS_PLACEHOLDER_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined( _MSC_VER ) && ( _MSC_VER >= 1020 )\r
-# pragma once\r
-#endif\r
-\r
-\r
-//  is_placeholder.hpp - TR1 is_placeholder metafunction\r
-//\r
-//  Copyright (c) 2006 Peter Dimov\r
-//\r
-//  Distributed under the Boost Software License, Version 1.0.\r
-//\r
-//  See accompanying file LICENSE_1_0.txt or copy at\r
-//  http://www.boost.org/LICENSE_1_0.txt\r
-\r
-\r
-namespace boost\r
-{\r
-\r
-template< class T > struct is_placeholder\r
-{\r
-    enum _vt { value = 0 };\r
-};\r
-\r
-} // namespace boost\r
-\r
-#endif // #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/mem_fn.hpp b/Externals/boost/boost/mem_fn.hpp
deleted file mode 100644 (file)
index 7f307c7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef BOOST_MEM_FN_HPP_INCLUDED\r
-#define BOOST_MEM_FN_HPP_INCLUDED\r
-\r
-// MS compatible compilers support #pragma once\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-# pragma once\r
-#endif\r
-\r
-//\r
-//  mem_fn.hpp - a generalization of std::mem_fun[_ref]\r
-//\r
-//  Copyright (c) 2009 Peter Dimov\r
-//\r
-//  Distributed under the Boost Software License, Version 1.0.\r
-//  See accompanying file LICENSE_1_0.txt or copy at\r
-//  http://www.boost.org/LICENSE_1_0.txt\r
-//\r
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.\r
-//\r
-\r
-#include <boost/bind/mem_fn.hpp>\r
-\r
-#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED\r
diff --git a/Externals/boost/boost/type.hpp b/Externals/boost/boost/type.hpp
deleted file mode 100644 (file)
index 4a1f750..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright David Abrahams 2001.\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-\r
-#ifndef BOOST_TYPE_DWA20010120_HPP\r
-# define BOOST_TYPE_DWA20010120_HPP\r
-\r
-namespace boost {\r
-\r
-  // Just a simple "type envelope". Useful in various contexts, mostly to work\r
-  // around some MSVC deficiencies.\r
-  template <class T>\r
-  struct type {};\r
-\r
-}\r
-\r
-#endif // BOOST_TYPE_DWA20010120_HPP\r
diff --git a/Externals/boost/boost/visit_each.hpp b/Externals/boost/boost/visit_each.hpp
deleted file mode 100644 (file)
index b60b5a6..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Boost.Signals library\r
-\r
-// Copyright Douglas Gregor 2001-2003. Use, modification and\r
-// distribution is subject to the Boost Software License, Version\r
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-\r
-// For more information, see http://www.boost.org/libs/signals\r
-\r
-#ifndef BOOST_VISIT_EACH_HPP\r
-#define BOOST_VISIT_EACH_HPP\r
-\r
-#include <boost/config.hpp>\r
-\r
-namespace boost {\r
-  template<typename Visitor, typename T>\r
-  inline void visit_each(Visitor& visitor, const T& t, long)\r
-  {\r
-    visitor(t);\r
-  }\r
-\r
-  template<typename Visitor, typename T>\r
-  inline void visit_each(Visitor& visitor, const T& t)\r
-  {\r
-    visit_each(visitor, t, 0);\r
-  }\r
-}\r
-\r
-#endif // BOOST_VISIT_EACH_HPP\r
index 6e4da2d..a131586 100644 (file)
@@ -60,7 +60,7 @@
 #include "FileOrFolderSelect.h"
 #include "IntToIntMap.h"
 #include <numeric>
-#include <boost/bind.hpp>
+#include <functional>
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -69,6 +69,7 @@ static char THIS_FILE[] = __FILE__;
 #endif
 
 using std::swap;
+using namespace std::placeholders;
 
 /**
  * @brief Location for folder compare specific help to open.
@@ -110,7 +111,7 @@ CDirView::CDirView()
                , m_pCmpProgressBar(nullptr)
                , m_compareStart(0)
                , m_bTreeMode(false)
-               , m_dirfilter(boost::bind(&COptionsMgr::GetBool, GetOptionsMgr(), _1))
+               , m_dirfilter(std::bind(&COptionsMgr::GetBool, GetOptionsMgr(), _1))
                , m_pShellContextMenuLeft(nullptr)
                , m_pShellContextMenuMiddle(nullptr)
                , m_pShellContextMenuRight(nullptr)
@@ -438,7 +439,7 @@ void CDirView::ReloadColumns()
        UpdateColumnNames();
        m_pColItems->LoadColumnWidths(
                (const TCHAR *)theApp.GetProfileString(GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3"), _T("ColumnWidths")),
-               boost::bind(&CListCtrl::SetColumnWidth, m_pList, _1, _2), DefColumnWidth);
+               std::bind(&CListCtrl::SetColumnWidth, m_pList, _1, _2), DefColumnWidth);
        SetColAlignments();
 }
 
@@ -706,8 +707,8 @@ bool CDirView::ListShellContextMenu(SIDE_TYPE stype)
                shellContextMenu = m_pShellContextMenuRight.get(); break;
        }
        shellContextMenu->Initialize();
-       ApplyFolderNameAndFileName(SelBegin(), SelEnd(), stype, GetDiffContext(), 
-               boost::bind(&CShellContextMenu::AddItem, shellContextMenu, _1, _2));
+       ApplyFolderNameAndFileName(SelBegin(), SelEnd(), stype, GetDiffContext(),
+               [&](const String& path, const String& filename) { shellContextMenu->AddItem(path, filename); });
        return shellContextMenu->RequeryShellContextMenu();
 }
 
@@ -978,7 +979,7 @@ void CDirView::OnDestroy()
        String secname = GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3");
        theApp.WriteProfileString(secname.c_str(), _T("ColumnOrders"), m_pColItems->SaveColumnOrders().c_str());
        theApp.WriteProfileString(secname.c_str(), _T("ColumnWidths"),
-               m_pColItems->SaveColumnWidths(boost::bind(&CListCtrl::GetColumnWidth, m_pList, _1)).c_str());
+               m_pColItems->SaveColumnWidths(std::bind(&CListCtrl::GetColumnWidth, m_pList, _1)).c_str());
 
        CListView::OnDestroy();
 
@@ -2095,7 +2096,7 @@ BOOL CDirView::OnHeaderBeginDrag(LPNMHEADER hdr, LRESULT* pResult)
        // so we can reload them on the end drag
        String secname = GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3");
        theApp.WriteProfileString(secname.c_str(), _T("ColumnWidths"),
-               m_pColItems->SaveColumnWidths(boost::bind(&CListCtrl::GetColumnWidth, m_pList, _1)).c_str());
+               m_pColItems->SaveColumnWidths(std::bind(&CListCtrl::GetColumnWidth, m_pList, _1)).c_str());
        return TRUE;
 }
 
@@ -2185,7 +2186,7 @@ void CDirView::OnTimer(UINT_PTR nIDEvent)
                UpdateColumnNames();
                m_pColItems->LoadColumnWidths(
                        (const TCHAR *)theApp.GetProfileString(GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3"), _T("ColumnWidths")),
-                       boost::bind(&CListCtrl::SetColumnWidth, m_pList, _1, _2), DefColumnWidth);
+                       std::bind(&CListCtrl::SetColumnWidth, m_pList, _1, _2), DefColumnWidth);
                Redisplay();
        }
        else if (nIDEvent == STATUSBAR_UPDATE)
@@ -3698,7 +3699,7 @@ void CDirView::OnEditColumns()
        String secname = GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3");
        theApp.WriteProfileString(secname.c_str(), _T("ColumnWidths"),
                (dlg.m_bReset ? m_pColItems->ResetColumnWidths(DefColumnWidth) :
-                               m_pColItems->SaveColumnWidths(boost::bind(&CListCtrl::GetColumnWidth, m_pList, _1))).c_str());
+                               m_pColItems->SaveColumnWidths(std::bind(&CListCtrl::GetColumnWidth, m_pList, _1))).c_str());
 
        // Reset our data to reflect the new data from the dialog
        const CDirColsDlg::ColumnArray & cols = dlg.GetColumns();