Boost logo

Boost-Commit :

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>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk