$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: john_at_[hidden]
Date: 2008-01-14 08:17:09
Author: johnmaddock
Date: 2008-01-14 08:17:09 EST (Mon, 14 Jan 2008)
New Revision: 42751
URL: http://svn.boost.org/trac/boost/changeset/42751
Log:
Patch regex concept checks and TR1 library to work with VC9 + MS TR1 feature pack.
Text files modified: 
   trunk/boost/regex/concepts.hpp      |     8 ++++----                                
   trunk/boost/tr1/detail/config.hpp   |    21 ++++++++++++++++++++-                   
   trunk/libs/tr1/test/test_random.cpp |     1 +                                       
   3 files changed, 25 insertions(+), 5 deletions(-)
Modified: trunk/boost/regex/concepts.hpp
==============================================================================
--- trunk/boost/regex/concepts.hpp	(original)
+++ trunk/boost/regex/concepts.hpp	2008-01-14 08:17:09 EST (Mon, 14 Jan 2008)
@@ -235,7 +235,7 @@
 struct BaseRegexConcept
 {
    typedef typename Regex::value_type value_type;
-   typedef typename Regex::size_type size_type;
+   //typedef typename Regex::size_type size_type;
    typedef typename Regex::flag_type flag_type;
    typedef typename Regex::locale_type locale_type;
    typedef input_iterator_archetype<value_type> input_iterator_type;
@@ -370,7 +370,7 @@
       const Regex ce;
       bool b = ce.empty();
       ignore_unused_variable_warning(b);
-      size_type i = ce.mark_count();
+      unsigned i = ce.mark_count();
       ignore_unused_variable_warning(i);
       m_flags = ce.flags();
       e.imbue(ce.getloc());
@@ -533,7 +533,7 @@
 
    pointer_type m_pointer;
    flag_type m_flags;
-   size_type m_size;
+   std::size_t m_size;
    input_iterator_type in1, in2;
    const sub_match_type m_sub;
    const value_type m_char;
@@ -557,7 +557,7 @@
 struct RegexConcept
 {
    typedef typename Regex::value_type value_type;
-   typedef typename Regex::size_type size_type;
+   //typedef typename Regex::size_type size_type;
    typedef typename Regex::flag_type flag_type;
    typedef typename Regex::locale_type locale_type;
 
Modified: trunk/boost/tr1/detail/config.hpp
==============================================================================
--- trunk/boost/tr1/detail/config.hpp	(original)
+++ trunk/boost/tr1/detail/config.hpp	2008-01-14 08:17:09 EST (Mon, 14 Jan 2008)
@@ -116,9 +116,28 @@
 //
 // MSVC-9.0 defines a not-quite TR1 conforming hash
 // function object in <functional>, so we must define
-// this here:
+// this here, in addition the feature pack for VC9
+// provides a more or less full TR1 implementation:
 //
+#if defined(_HAS_TR1) && (_HAS_TR1 + 0)
+#  define BOOST_HAS_TR1_ARRAY
+#  define BOOST_HAS_TR1_REFERENCE_WRAPPER
+#  define BOOST_HAS_TR1_RESULT_OF
+#  define BOOST_HAS_TR1_MEM_FN
+#  define BOOST_HAS_TR1_BIND
+#  define BOOST_HAS_TR1_FUNCTION
 #  define BOOST_HAS_TR1_HASH
+#  define BOOST_HAS_TR1_SHARED_PTR
+#  define BOOST_HAS_TR1_RANDOM
+#  define BOOST_HAS_TR1_REGEX
+#  define BOOST_HAS_TR1_TUPLE
+#  define BOOST_HAS_TR1_TYPE_TRAITS
+#  define BOOST_HAS_TR1_UTILITY
+#  define BOOST_HAS_TR1_UNORDERED_MAP
+#  define BOOST_HAS_TR1_UNORDERED_SET
+#else
+#  define BOOST_HAS_TR1_HASH
+#endif
 #endif
 
 #include <boost/config.hpp>
Modified: trunk/libs/tr1/test/test_random.cpp
==============================================================================
--- trunk/libs/tr1/test/test_random.cpp	(original)
+++ trunk/libs/tr1/test/test_random.cpp	2008-01-14 08:17:09 EST (Mon, 14 Jan 2008)
@@ -10,6 +10,7 @@
 #endif
 
 #include <boost/type_traits/is_arithmetic.hpp>
+#include <boost/cstdint.hpp>
 #include <boost/static_assert.hpp>
 #include "verify_return.hpp"
 #include <iostream>