Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-10-11 15:36:08

The current CVS was showing the following:

    In file included from boost/regex.hpp:1576,
                     from libs/regex/src/instances.cpp:34:
    boost/regex/detail/regex_match.hpp: In constructor
       boost::re_detail::match_results_base<iterator, Allocator>&, iterator,
       iterator, unsigned int)':
    boost/regex/detail/regex_match.hpp:239: warning: `typename
       boost::re_detail::regex_iterator_traits<T>::iterator_category' is implicitly
       a typename
    boost/regex/detail/regex_match.hpp:239: warning: implicit typename is
       deprecated, please see the documentation for details
    gcc.compile libs\regex\build\bin\gcc\debug\main-target-boost_regex\winstances.o

I just checked in this patch to fix it:

Index: boost/regex/detail/regex_match.hpp
RCS file: /cvsroot/boost/boost/boost/regex/detail/regex_match.hpp,v
retrieving revision 1.27
diff -w -u -r1.27 regex_match.hpp
--- boost/regex/detail/regex_match.hpp	17 Sep 2002 10:57:26 -0000	1.27
+++ boost/regex/detail/regex_match.hpp	11 Oct 2002 20:43:05 -0000
@@ -236,7 +236,7 @@
   caccumulators = 0;
   loop_starts = 0;
   state_count = 0;
-  estimate_max_state_count(a, b, states, static_cast<regex_iterator_traits<iterator>::iterator_category*>(0));
+  estimate_max_state_count(a, b, states, static_cast<typename regex_iterator_traits<iterator>::iterator_category*>(0));
 template <class iterator, class Allocator>
I'd go as far as to suggest that given the number of compilers which are
overly permissive about typename, people writing and maintaining boost
code should test everything out with something more-conforming. It
seems like we see "missing typename" bugs in Boost code every few
weeks and it's so easily avoided... with freely-available tools, even!
           David Abrahams * Boost Consulting
dave_at_[hidden] *

Boost list run by bdawes at, gregod at, cpdaniel at, john at