--- boost/boost-1.30.2.patch.OLD	2005-10-11 11:58:51.000000000 +0300
+++ boost/boost-1.30.2.patch	2006-02-16 17:23:14.000000000 +0200
@@ -181,3 +181,350 @@
   #ifdef BOOST_MEM_FN_ENABLE_STDCALL
   
   #define BOOST_MEM_FN_NAME(X) X##_stdcall
+*** misc/boost-1.30.2/boost/numeric/ublas/matrix.hpp	Sat Mar  1 15:23:52 2003
+--- misc/build/boost-1.30.2/boost/numeric/ublas/matrix.hpp	Tue Feb 14 15:01:57 2006
+***************
+*** 402,412 ****
+--- 402,414 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0); 
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ()); 
+***************
+*** 528,538 ****
+--- 530,542 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ());
+***************
+*** 1291,1301 ****
+--- 1295,1307 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0); 
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ()); 
+***************
+*** 1434,1444 ****
+--- 1440,1452 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ());
+***************
+*** 2057,2067 ****
+--- 2065,2077 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0); 
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ()); 
+***************
+*** 2500,2510 ****
+--- 2510,2522 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ());
+***************
+*** 2928,2938 ****
+--- 2940,2952 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const scalar_matrix &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0); 
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const scalar_matrix &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ()); 
+***************
+*** 3542,3552 ****
+--- 3556,3568 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0); 
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ()); 
+***************
+*** 3668,3678 ****
+--- 3684,3696 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  self_type &m = (*this) ();
+                  return m.find_first2 (1, index1 (), m.size2 ());
+*** misc/boost-1.30.2/boost/numeric/ublas/matrix_expression.hpp	Tue Feb 18 09:32:46 2003
+--- misc/build/boost-1.30.2/boost/numeric/ublas/matrix_expression.hpp	Tue Feb 14 14:55:04 2006
+***************
+*** 778,787 ****
+--- 778,789 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 1232,1241 ****
+--- 1234,1245 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 1666,1675 ****
+--- 1670,1681 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 2234,2243 ****
+--- 2240,2251 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 2808,2817 ****
+--- 2816,2827 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 3240,3249 ****
+--- 3250,3261 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+***************
+*** 4530,4539 ****
+--- 4542,4553 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return (*this) ().find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return (*this) ().find_first2 (1, index1 (), (*this) ().size2 ());
+              }
+*** misc/boost-1.30.2/boost/numeric/ublas/matrix_proxy.hpp	Sat Mar  1 15:23:52 2003
+--- misc/build/boost-1.30.2/boost/numeric/ublas/matrix_proxy.hpp	Tue Feb 14 14:57:56 2006
+***************
+*** 2998,3008 ****
+--- 2998,3010 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  const self_type &mr = (*this) ();
+                  return mr.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  const self_type &mr = (*this) ();
+                  return mr.find_first2 (1, index1 (), mr.size2 ());
+***************
+*** 3126,3136 ****
+--- 3128,3140 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  self_type &mr = (*this) ();
+                  return mr.find_first2 (1, index1 (), 0);
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  self_type &mr = (*this) ();
+                  return mr.find_first2 (1, index1 (), mr.size2 ());
+***************
+*** 3906,3915 ****
+--- 3910,3921 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return const_iterator2 ((*this) (), it1_, it2_ ().begin ());
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return const_iterator2 ((*this) (), it1_, it2_ ().end ());
+              }
+***************
+*** 4032,4041 ****
+--- 4038,4049 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  return iterator2 ((*this) (), it1_, it2_ ().begin ());
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  return iterator2 ((*this) (), it1_, it2_ ().end ());
+              }
+***************
+*** 4816,4825 ****
+--- 4824,4835 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 begin () const {
+                  return const_iterator2 ((*this) (), it1_, it2_ ().begin ());
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              const_iterator2 end () const {
+                  return const_iterator2 ((*this) (), it1_, it2_ ().end ());
+              }
+***************
+*** 4942,4951 ****
+--- 4952,4963 ----
+              }
+  
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 begin () const {
+                  return iterator2 ((*this) (), it1_, it2_ ().begin ());
+              }
+              BOOST_UBLAS_INLINE
++ 	    typename self_type::
+              iterator2 end () const {
+                  return iterator2 ((*this) (), it1_, it2_ ().end ());
+              }
