]> git.lyx.org Git - features.git/commitdiff
Update in-source boost to latest updates from boost 1.34 branch.
authorLars Gullik Bjønnes <larsbj@gullik.org>
Sat, 16 Sep 2006 16:39:04 +0000 (16:39 +0000)
committerLars Gullik Bjønnes <larsbj@gullik.org>
Sat, 16 Sep 2006 16:39:04 +0000 (16:39 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15022 a592a061-630c-0410-9148-cb99ea01b6c8

23 files changed:
boost/boost/array.hpp
boost/boost/config/compiler/hp_acc.hpp
boost/boost/config/platform/hpux.hpp
boost/boost/format/exceptions.hpp
boost/boost/implicit_cast.hpp
boost/boost/iostreams/char_traits.hpp
boost/boost/iostreams/positioning.hpp
boost/boost/iterator/iterator_facade.hpp
boost/boost/regex/pending/object_cache.hpp
boost/boost/regex/v4/basic_regex.hpp
boost/boost/regex/v4/basic_regex_creator.hpp
boost/boost/regex/v4/basic_regex_parser.hpp
boost/boost/regex/v4/cpp_regex_traits.hpp
boost/boost/regex/v4/perl_matcher_recursive.hpp
boost/boost/regex/v4/regex_token_iterator.hpp
boost/boost/regex/v4/w32_regex_traits.hpp
boost/boost/shared_array.hpp
boost/boost/spirit/phoenix/operators.hpp
boost/boost/token_functions.hpp
boost/boost/type_traits/aligned_storage.hpp
boost/boost/type_traits/detail/bool_trait_def.hpp
boost/boost/type_traits/is_base_and_derived.hpp
boost/libs/filesystem/src/operations.cpp

index 21e5f1bd1b44b5a94392bc83f0eecd2f4834326c..b41c6561c91ab9c51fb902fb7842f17b774a712e 100644 (file)
@@ -2,13 +2,13 @@
  * an STL container (as wrapper) for arrays of constant size.
  *
  * See
- *      http://www.josuttis.com/cppcode
- * for details and the latest version.
- * See
- *      http://www.boost.org/libs/array for Documentation.
+ *      http://www.boost.org/libs/array/
  * for documentation.
  *
+ * The original author site is at: http://www.josuttis.com/
+ *
  * (C) Copyright Nicolai M. Josuttis 2001.
+ *
  * Distributed under the Boost Software License, Version 1.0. (See
  * accompanying file LICENSE_1_0.txt or copy at
  * http://www.boost.org/LICENSE_1_0.txt)
index 3d05ba5635ad474b49d43ab56dde73ab9c403c72..9b16d3ade246f7bf09301ffee5bb45780553aa31 100644 (file)
@@ -30,7 +30,6 @@
 #if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG)
 #    define BOOST_NO_UNREACHABLE_RETURN_DETECTION
 #    define BOOST_NO_TEMPLATE_TEMPLATES
-#    define BOOST_NO_SWPRINTF
 #    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
 #    define BOOST_NO_IS_ABSTRACT
 //     std lib config should set this one already:
index fa773aa79e2c03db249f95e474af5d41d172f067..879fa00bfd53ce5da1f32e0eb6d21a3fa4747dae 100644 (file)
@@ -2,6 +2,7 @@
 //  (C) Copyright Jens Maurer 2001 - 2003. 
 //  (C) Copyright David Abrahams 2002. 
 //  (C) Copyright Toon Knapen 2003. 
+//  (C) Copyright Boris Gubenko 2006.
 //  Use, modification and distribution are subject to the 
 //  Boost Software License, Version 1.0. (See accompanying file 
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 // In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
 // However, it has the following problem:
 // Use of UINT32_C(0) results in "0u l" for the preprocessed source
-// (verifyable with gcc 2.95.3, assumed for HP aCC)
-// #define BOOST_HAS_STDINT_H
+// (verifyable with gcc 2.95.3)
+#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
+#  define BOOST_HAS_STDINT_H
+#endif
 
-#define BOOST_NO_SWPRINTF 
-#define BOOST_NO_CWCTYPE
+#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
+#  define BOOST_NO_SWPRINTF
+#  define BOOST_NO_CWCTYPE
+#endif
 
 #if defined(__GNUC__)
 #  if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
 #ifndef BOOST_HAS_SIGACTION
 #  define BOOST_HAS_SIGACTION
 #endif
+#ifndef BOOST_HAS_NRVO 
+#  define BOOST_HAS_NRVO
+#endif
+#ifndef BOOST_HAS_LOG1P 
+#  define BOOST_HAS_LOG1P
+#endif
+#ifndef BOOST_HAS_EXPM1
+#  define BOOST_HAS_EXPM1
+#endif
 
 
index a0dd547090a66c3b41d8c18ecab9cbf9cae06715..9b2de834cf707d29495a17cb8f41e81f5ce47760 100644 (file)
@@ -2,11 +2,14 @@
 // boost/format/exceptions.hpp 
 // ----------------------------------------------------------------------------
 
-//  Copyright Samuel Krempp 2003. Use, modification, and distribution are
-//  subject to the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/format for library home page
+//  Copyright Samuel Krempp 2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+//    (See accompanying file LICENSE_1_0.txt or copy at
+//          http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+//  See http://www.boost.org/libs/format/ for library home page
 
 // ----------------------------------------------------------------------------
 
@@ -56,7 +59,7 @@ namespace boost {
             std::size_t get_expected() const { return expected_; }
             virtual const char *what() const throw() {
                 return "boost::too_few_args: "
-                    "format-string refered to more arguments than were passed";
+                    "format-string referred to more arguments than were passed";
             }
         };
 
@@ -70,7 +73,7 @@ namespace boost {
             std::size_t get_expected() const { return expected_; }
             virtual const char *what() const throw() {
                 return "boost::too_many_args: "
-                    "format-string refered to less arguments than were passed";
+                    "format-string referred to less arguments than were passed";
             }
         };
 
@@ -87,7 +90,7 @@ namespace boost {
             virtual const char *what() const throw() {
                 return "boost::out_of_range: "
                     "tried to refer to an argument (or item) number which"
-                    " is out of range, according to the format string.";
+                    " is out of range, according to the format string";
             }
         };
 
index 2593cb4b3dab20b20c216fa024884a18e9e6bb10..70430853a34ce4317e3905ce12abd6aee1b14616 100644 (file)
@@ -23,12 +23,6 @@ inline T implicit_cast (typename mpl::identity<T>::type x) {
 //template <typename T>
 //void implicit_cast (...);
 
-// Macro for when you need a constant expression (Gennaro Prota)
-#define BOOST_IMPLICIT_CAST(dst_type, expr)           \
-          ( sizeof( implicit_cast<dst_type>(expr) )   \
-                     ,                                \
-            static_cast<dst_type>(expr)               \
-          )
 
 } // namespace boost
 
index 38cf7360c33b4c3dcb0f50ea3d796995b287fcd8..b5086990a2024da392be9e3c9791247452f34e58 100644 (file)
@@ -28,9 +28,11 @@ namespace std { using ::wint_t; }
 namespace boost { namespace iostreams {
 
 // Dinkumware that comes with QNX Momentics 6.3.0, 4.0.2, incorrectly defines the
-// EOF and WEOF macros to not std:: qualify the wint_t type.
-// Fix by placing the def in this scope.
-#if defined(__QNX__) && defined(BOOST_DINKUMWARE_STDLIB)
+// EOF and WEOF macros to not std:: qualify the wint_t type (and so does
+// Sun C++ 5.8 + STLport 4). Fix by placing the def in this scope.
+// NOTE: Use BOOST_WORKAROUND?
+#if (defined(__QNX__) && defined(BOOST_DINKUMWARE_STDLIB))  \
+    || defined(__SUNPRO_CC)
 using ::std::wint_t;
 #endif
 
index 540326bde062d72bd07991419ad3f65136c06974..7a01baf51559b642a7d0ab454f12450bffe6ba23 100644 (file)
@@ -14,6 +14,7 @@
 # pragma once
 #endif
 
+#include <boost/config.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/integer_traits.hpp>
 #include <boost/iostreams/detail/config/codecvt.hpp> // mbstate_t.
 // Must come last.
 #include <boost/iostreams/detail/config/disable_warnings.hpp> 
 
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std { using ::fpos_t; }
+#endif
+
 namespace boost { namespace iostreams {
 
 typedef boost::intmax_t stream_offset;
index 462bd8bc251f47aca4a4e51e1b56008a7b777e12..0e494fe5d7f7b7cfee254fa9599a84458d1665a8 100644 (file)
@@ -293,17 +293,17 @@ namespace boost
 
     // operator->() needs special support for input iterators to strictly meet the
     // standard's requirements. If *i is not a reference type, we must still
-    // produce a (constant) lvalue to which a pointer can be formed. We do that by
+    // produce a lvalue to which a pointer can be formed. We do that by
     // returning an instantiation of this special proxy class template.
     template <class T>
     struct operator_arrow_proxy
     {
         operator_arrow_proxy(T const* px) : m_value(*px) {}
-        const T* operator->() const { return &m_value; }
+        T* operator->() const { return &m_value; }
         // This function is needed for MWCW and BCC, which won't call operator->
         // again automatically per 13.3.1.2 para 8
-        operator const T*() const { return &m_value; }
-        T m_value;
+        operator T*() const { return &m_value; }
+        mutable T m_value;
     };
 
     // A metafunction that gets the result type for operator->.  Also
index 8bac298aae5d34566519fc5fc6a6e82a5c61c354..bc37e276d3a7f4296c6b07214b74fe4e73ec0823 100644 (file)
@@ -35,16 +35,16 @@ template <class Key, class Object>
 class object_cache
 {
 public:
-   typedef std::pair< ::boost::shared_ptr<Object>, Key const*> value_type;
+   typedef std::pair< ::boost::shared_ptr<Object const>, Key const*> value_type;
    typedef std::list<value_type> list_type;
    typedef typename list_type::iterator list_iterator;
    typedef std::map<Key, list_iterator> map_type;
    typedef typename map_type::iterator map_iterator;
    typedef typename list_type::size_type size_type;
-   static boost::shared_ptr<Object> get(const Key& k, size_type max_cache_size);
+   static boost::shared_ptr<Object const> get(const Key& k, size_type max_cache_size);
 
 private:
-   static boost::shared_ptr<Object> do_get(const Key& k, size_type max_cache_size);
+   static boost::shared_ptr<Object const> do_get(const Key& k, size_type max_cache_size);
 
    struct data
    {
@@ -58,7 +58,7 @@ private:
 };
 
 template <class Key, class Object>
-boost::shared_ptr<Object> object_cache<Key, Object>::get(const Key& k, size_type max_cache_size)
+boost::shared_ptr<Object const> object_cache<Key, Object>::get(const Key& k, size_type max_cache_size)
 {
 #ifdef BOOST_HAS_THREADS
    static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT;
@@ -80,7 +80,7 @@ boost::shared_ptr<Object> object_cache<Key, Object>::get(const Key& k, size_type
 }
 
 template <class Key, class Object>
-boost::shared_ptr<Object> object_cache<Key, Object>::do_get(const Key& k, size_type max_cache_size)
+boost::shared_ptr<Object const> object_cache<Key, Object>::do_get(const Key& k, size_type max_cache_size)
 {
    typedef typename object_cache<Key, Object>::data object_data;
    typedef typename map_type::size_type map_size_type;
@@ -115,7 +115,7 @@ boost::shared_ptr<Object> object_cache<Key, Object>::do_get(const Key& k, size_t
    // if we get here then the item is not in the cache,
    // so create it:
    //
-   boost::shared_ptr<Object> result(new Object(k));
+   boost::shared_ptr<Object const> result(new Object(k));
    //
    // Add it to the list, and index it:
    //
index 851f9e84ee42fbc0427cdd4ea10f77e363307ac2..665c1a955d20dce931c23ec608b45e9276f05a70 100644 (file)
@@ -3,14 +3,14 @@
  * Copyright (c) 1998-2004
  * John Maddock
  *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ * Distributed under the Boost Software License, Version 1.0.
+ * (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt)
  *
  */
 
  /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
+  *   LOCATION:    see http://www.boost.org/ for most recent version.
   *   FILE         basic_regex.cpp
   *   VERSION      see <boost/version.hpp>
   *   DESCRIPTION: Declares template class basic_regex.
@@ -343,7 +343,7 @@ public:
    //
    // getflags:
    // retained for backwards compatibility only, "flags"
-   // is now the prefered name:
+   // is now the preferred name:
    flag_type BOOST_REGEX_CALL getflags()const
    { 
       return flags();
index 22a23775502f24b39ec234dda50ca36e7e5bd60f..a03c95201678fc41c7a8295b3ef91375a840b235 100644 (file)
@@ -1185,7 +1185,7 @@ bool basic_regex_creator<charT, traits>::is_bad_repeat(re_syntax_base* pt)
          unsigned id = static_cast<re_repeat*>(pt)->id;
          if(id > sizeof(m_bad_repeats) * CHAR_BIT)
             return true;  // run out of bits, assume we can't traverse this one.
-                  static const boost::uintmax_t one = 1uL;
+         static const boost::uintmax_t one = 1uL;
          return m_bad_repeats & (one << id);
       }
    default:
@@ -1205,7 +1205,7 @@ void basic_regex_creator<charT, traits>::set_bad_repeat(re_syntax_base* pt)
    case syntax_element_long_set_rep:
       {
          unsigned id = static_cast<re_repeat*>(pt)->id;
-                  static const boost::uintmax_t one = 1uL;
+         static const boost::uintmax_t one = 1uL;
          if(id <= sizeof(m_bad_repeats) * CHAR_BIT)
             m_bad_repeats |= (one << id);
       }
index 5010275162f12f29b0baea0fd152030b6fc6f258..ad77d0545a3a454de7a59013a9ba95b308f216af 100644 (file)
@@ -1220,17 +1220,17 @@ void basic_regex_parser<charT, traits>::parse_set_literal(basic_char_set<charT,
          char_set.add_range(start_range, end_range);
          if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash)
          {
-                          if(m_end == ++m_position)
-                          {
-                                  fail(regex_constants::error_brack, m_position - m_base);
-                                  return;
-                          }
-                          if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set)
-                          {
+            if(m_end == ++m_position)
+            {
+               fail(regex_constants::error_brack, m_position - m_base);
+               return;
+            }
+            if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set)
+            {
                // trailing - :
                --m_position;
                return;
-                          }
+            }
             fail(regex_constants::error_range, m_position - m_base);
             return;
          }
index f7ba0bcc6fc2d589c4c5c79d318ed0c84de6012c..6ba599a41a3a3f40e01e15e013047284edd1eccc 100644 (file)
@@ -407,12 +407,12 @@ public:
    typedef charT char_type;
    //cpp_regex_traits_implementation();
    cpp_regex_traits_implementation(const std::locale& l)
-      : cpp_regex_traits_char_layer<charT>(l), m_is(&m_sbuf)
+      : cpp_regex_traits_char_layer<charT>(l)
    {
       init();
    }
    cpp_regex_traits_implementation(const cpp_regex_traits_base<charT>& l)
-      : cpp_regex_traits_char_layer<charT>(l), m_is(&m_sbuf)
+      : cpp_regex_traits_char_layer<charT>(l)
    {
       init();
    }
@@ -439,8 +439,6 @@ public:
    string_type lookup_collatename(const charT* p1, const charT* p2) const;
    string_type transform_primary(const charT* p1, const charT* p2) const;
    string_type transform(const charT* p1, const charT* p2) const;
-   re_detail::parser_buf<charT>   m_sbuf;            // buffer for parsing numbers.
-   std::basic_istream<charT>      m_is;              // stream for parsing numbers.
 private:
    std::map<int, std::string>     m_error_strings;   // error messages indexed by numberic ID
    std::map<string_type, char_class_type>  m_custom_class_names; // character class names
@@ -816,7 +814,7 @@ bool cpp_regex_traits_implementation<charT>::isctype(const charT c, char_class_t
 
 
 template <class charT>
-inline boost::shared_ptr<cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
+inline boost::shared_ptr<const cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
 {
    cpp_regex_traits_base<charT> key(l);
    return ::boost::object_cache<cpp_regex_traits_base<charT>, cpp_regex_traits_implementation<charT> >::get(key, 5);
@@ -954,7 +952,7 @@ public:
    static std::string get_catalog_name();
 
 private:
-   boost::shared_ptr<re_detail::cpp_regex_traits_implementation<charT> > m_pimpl;
+   boost::shared_ptr<const re_detail::cpp_regex_traits_implementation<charT> > m_pimpl;
    //
    // catalog name handler:
    //
@@ -969,17 +967,21 @@ private:
 template <class charT>
 int cpp_regex_traits<charT>::toi(const charT*& first, const charT* last, int radix)const
 {
+   re_detail::parser_buf<charT>   sbuf;            // buffer for parsing numbers.
+   std::basic_istream<charT>      is(&sbuf);       // stream for parsing numbers.
+
    // we do NOT want to parse any thousands separators inside the stream:
-   last = std::find(first, last, BOOST_USE_FACET(std::numpunct<charT>, m_pimpl->m_is.getloc()).thousands_sep());
-   m_pimpl->m_sbuf.pubsetbuf(const_cast<charT*>(static_cast<const charT*>(first)), static_cast<std::streamsize>(last-first));
-   m_pimpl->m_is.clear();
-   if(std::abs(radix) == 16) m_pimpl->m_is >> std::hex;
-   else if(std::abs(radix) == 8) m_pimpl->m_is >> std::oct;
-   else m_pimpl->m_is >> std::dec;
+   last = std::find(first, last, BOOST_USE_FACET(std::numpunct<charT>, is.getloc()).thousands_sep());
+
+   sbuf.pubsetbuf(const_cast<charT*>(static_cast<const charT*>(first)), static_cast<std::streamsize>(last-first));
+   is.clear();
+   if(std::abs(radix) == 16) is >> std::hex;
+   else if(std::abs(radix) == 8) is >> std::oct;
+   else is >> std::dec;
    int val;
-   if(m_pimpl->m_is >> val)
+   if(is >> val)
    {
-      first = first + ((last - first) - m_pimpl->m_sbuf.in_avail());
+      first = first + ((last - first) - sbuf.in_avail());
       return val;
    }
    else
index 691f2a6fc9c49f6cfff3e57f355bf5f2c54f6fd4..7e857963feef9b01f33a287bef4a29eaf4937efc 100644 (file)
@@ -478,7 +478,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast()
          return true;
       if(count >= rep->max)
          return false;
-      if(position == last)
+      if(save_pos == last)
          return false;
       position = ++save_pos;
       ++count;
@@ -572,9 +572,9 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat()
          return true;
       if(count >= rep->max)
          return false;
+      position = save_pos;
       if(position == last)
          return false;
-      position = save_pos;
       if(traits_inst.translate(*position, icase) == what)
       {
          ++position;
@@ -661,9 +661,9 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat()
          return true;
       if(count >= rep->max)
          return false;
+      position = save_pos;
       if(position == last)
          return false;
-      position = save_pos;
       if(map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
       {
          ++position;
@@ -751,9 +751,9 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat()
          return true;
       if(count >= rep->max)
          return false;
+      position = save_pos;
       if(position == last)
          return false;
-      position = save_pos;
       if(position != re_is_set_member(position, last, set, re.get_data(), icase))
       {
          ++position;
index adbb534de4f448ebb78166159a6ab407b387a405..a03fedd20084ba76afb49043b888af006ba4de4f 100644 (file)
@@ -66,11 +66,11 @@ public:
       : end(last), re(*p), flags(f){ subs.push_back(sub); }
    regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)
       : end(last), re(*p), flags(f), subs(v){}
-#if !BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
+#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
 #if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
       || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
       || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
+      || BOOST_WORKAROUND(__HP_aCC, < 60700)
    template <class T>
    regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const T& submatches, match_flag_type f)
       : end(last), re(*p), flags(f)
@@ -110,6 +110,7 @@ public:
          result.first = first;
          result.second = end;
          result.matched = (first != end);
+         N = -1;
          return true;
       }
       return false;
@@ -199,11 +200,11 @@ public:
       if(!pdata->init(a))
          pdata.reset();
    }
-#if !BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
+#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
 #if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
       || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
       || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
+      || BOOST_WORKAROUND(__HP_aCC, < 60700)
    template <class T>
    regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,
                         const T& submatches, match_flag_type m = match_default)
index 192cb535d86a5ae7c0a248098b4cb45ba8595706..8a85d6837b3c0a7d4cd1f86513ba34cc9bf69bf3 100644 (file)
@@ -166,7 +166,7 @@ public:
    {
       return ::boost::re_detail::w32_tolower(c, this->m_locale);
    }
-   bool isctype(boost::uint32_t mask, charT c)
+   bool isctype(boost::uint32_t mask, charT c)const
    {
       return ::boost::re_detail::w32_is(this->m_locale, mask, c);
    }
@@ -263,7 +263,7 @@ public:
    {
       return m_lower_map[static_cast<unsigned char>(c)];
    }
-   bool isctype(boost::uint32_t mask, char c)
+   bool isctype(boost::uint32_t mask, char c)const
    {
       return m_type_map[static_cast<unsigned char>(c)] & mask;
    }
@@ -540,7 +540,7 @@ typename w32_regex_traits_implementation<charT>::char_class_type
 
 
 template <class charT>
-boost::shared_ptr<w32_regex_traits_implementation<charT> > create_w32_regex_traits(::boost::re_detail::lcid_type l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
+boost::shared_ptr<const w32_regex_traits_implementation<charT> > create_w32_regex_traits(::boost::re_detail::lcid_type l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
 {
    // TODO: create a cache for previously constructed objects.
    return boost::object_cache< ::boost::re_detail::lcid_type, w32_regex_traits_implementation<charT> >::get(l, 5);
@@ -654,7 +654,7 @@ public:
    static std::string get_catalog_name();
 
 private:
-   boost::shared_ptr<re_detail::w32_regex_traits_implementation<charT> > m_pimpl;
+   boost::shared_ptr<const re_detail::w32_regex_traits_implementation<charT> > m_pimpl;
    //
    // catalog name handler:
    //
index 9216e89c42729f09eafc45ec22555d6c0043a443..eb69c8ed67e25b2a64045c6c0036f160bad87250 100644 (file)
@@ -20,6 +20,8 @@
 #include <boost/detail/shared_array_nmt.hpp>
 #else
 
+#include <memory>             // TR1 cyclic inclusion fix
+
 #include <boost/assert.hpp>
 #include <boost/checked_delete.hpp>
 
index a50cfd34204311479a8baf6e6addbfd71add7664..95f70a9b306e5f646a1efde689c86d8a1129683a 100644 (file)
@@ -239,7 +239,7 @@ struct unary_operator<positive_op, T> {
 template <typename T>
 struct unary_operator<logical_not_op, T> {
 
-    typedef bool result_type;
+    typedef T const result_type;
     static result_type eval(T const& v)
     { return !v; }
 };
index c329e3bc39716dc2d7392a509cb38182b023cb40..ecf44cb9c569a80f567d9528a00b8dd6641ee2d9 100644 (file)
@@ -6,7 +6,7 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org/libs/tokenizer for documentation.
+// See http://www.boost.org/libs/tokenizer/ for documentation.
 
 // Revision History:
 // 01 Oct 2004   Joaquín M López Muñoz
@@ -74,7 +74,7 @@ namespace boost{
   // character (backslash \), can be assigned to other characters.
 
   struct escaped_list_error : public std::runtime_error{
-    escaped_list_error(const std::string& what):std::runtime_error(what) { }
+    escaped_list_error(const std::string& what_arg):std::runtime_error(what_arg) { }
   };
   
 
index 634fa7454ac09d50376fa043d052a53dc0ed6825..5420f26738db73142c715f97d38e0632945e1bc8 100644 (file)
@@ -1,5 +1,5 @@
 
-//  (C) John Maddock 2005.
+//  Copyright (C) John Maddock 2005.
 //  Use, modification and distribution are subject to the Boost Software License,
 //  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt).
@@ -10,3 +10,4 @@
 #  define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
 #  include <boost/aligned_storage.hpp>
 #endif // BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
+
index d630392819851105f17678241d30bd3c79487a90..54994d87be3fa9ead4d087afdde40457e76f9626 100644 (file)
@@ -8,8 +8,8 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 // $Source: /cvsroot/boost/boost/boost/type_traits/detail/bool_trait_def.hpp,v $
-// $Date: 2005/08/25 16:27:26 $
-// $Revision: 1.19 $
+// $Date: 2006/07/12 11:10:22 $
+// $Revision: 1.19.4.1 $
 
 #include <boost/type_traits/detail/template_arity_spec.hpp>
 #include <boost/type_traits/integral_constant.hpp>
 #include <boost/mpl/aux_/lambda_support.hpp>
 #include <boost/config.hpp>
 
+//
+// Unfortunately some libraries have started using this header without
+// cleaning up afterwards: so we'd better undef the macros just in case 
+// they've been defined already....
+//
+#ifdef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#undef BOOST_TT_AUX_BOOL_C_BASE
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
+#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
+#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
+#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
+#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
+#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
+#endif
+
 #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x570)
 #   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
     typedef ::boost::integral_constant<bool,C> type; \
index 94a2b2e277bbab351dc26c98a565074f4e755d94..48d10280522f1959f8f60ed3e7e0fd7276cd7573 100644 (file)
@@ -37,7 +37,7 @@ namespace detail {
 This version detects ambiguous base classes and private base classes
 correctly, and was devised by Rani Sharoni.
 
-Explanation by Terje Slettebø and Rani Sharoni.
+Explanation by Terje Slettebo and Rani Sharoni.
 
 Let's take the multiple base class below as an example, and the following
 will also show why there's not a problem with private or ambiguous base
index 79c2959d30b2858f213413005ac3d42fe6e2a78c..e42e7a7f50406d10bbd225984c1559e7c86ca94e 100644 (file)
@@ -2,11 +2,12 @@
 
 //  Copyright 2002-2005 Beman Dawes
 //  Copyright 2001 Dietmar Kuehl
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
 
-//  See library home page at http://www.boost.org/libs/filesystem
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See library home page at http://www.boost.org/libs/filesystem/
 
 //----------------------------------------------------------------------------// 
 
@@ -1263,12 +1264,12 @@ namespace boost
         if ( result == 0 ) return dir_itr_close( handle, buffer );
         target = entry->d_name;
 #     ifdef BOOST_FILESYSTEM_STATUS_CACHE
-                   if ( entry->d_type == DT_UNKNOWN )  // filesystem does not supply d_type value
+            if ( entry->d_type == DT_UNKNOWN )  // filesystem does not supply d_type value
         {
           sf = symlink_sf = fs::file_status(fs::status_unknown);
         }
-                 else  // filesystem supplies d_type value
-                   {
+          else  // filesystem supplies d_type value
+            {
           if ( entry->d_type == DT_DIR )
             sf = symlink_sf = fs::file_status( fs::directory_file );
           else if ( entry->d_type == DT_REG )
@@ -1279,7 +1280,7 @@ namespace boost
             symlink_sf = fs::file_status( fs::symlink_file );
           }
           else sf = symlink_sf = fs::file_status( fs::status_unknown );
-                   }
+            }
 #     else
         sf = symlink_sf = fs::file_status( fs::status_unknown );
 #     endif