stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vi...@apache.org
Subject svn commit: r681820 [2/7] - in /stdcxx/trunk: ./ doc/ etc/config/src/ examples/include/ include/ include/loc/ include/rw/ src/ tests/containers/ tests/diagnostics/ tests/include/ tests/intro/ tests/localization/ tests/regress/ tests/src/ tests/strings/...
Date Fri, 01 Aug 2008 20:51:22 GMT
Modified: stdcxx/trunk/include/istream
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/istream?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/istream (original)
+++ stdcxx/trunk/include/istream Fri Aug  1 13:51:17 2008
@@ -129,12 +129,12 @@
 
     typedef _CharT                                    char_type;
     typedef _Traits                                   traits_type;
-    typedef _TYPENAME traits_type::int_type           int_type;
-    typedef _TYPENAME traits_type::pos_type           pos_type;
-    typedef _TYPENAME traits_type::off_type           off_type;
+    typedef typename traits_type::int_type           int_type;
+    typedef typename traits_type::pos_type           pos_type;
+    typedef typename traits_type::off_type           off_type;
       
     // 27.6.1.1.1, p1
-    _EXPLICIT basic_istream (basic_streambuf<char_type, traits_type> *__sb)
+    explicit basic_istream (basic_streambuf<char_type, traits_type> *__sb)
         : _C_gcount (0) {
         this->init (__sb);
     }
@@ -156,7 +156,7 @@
     struct sentry: _RW::__rw_guard {
 
         // 27.6.1.1.2, p2 - assumes 0 != __strm.rdbuf ()
-        _EXPLICIT sentry (basic_istream &__strm, bool __noskipws = false)
+        explicit sentry (basic_istream &__strm, bool __noskipws = false)
             : _RW::__rw_guard (__strm._C_bufmutex ()),
               _C_ok (__strm._C_ipfx (__noskipws).good ()) { /* no-op */ }
 
@@ -362,7 +362,7 @@
 
 
 template<class _CharT, class _Traits>
-inline _TYPENAME basic_istream<_CharT, _Traits>::int_type
+inline typename basic_istream<_CharT, _Traits>::int_type
 basic_istream<_CharT, _Traits>::
 get ()
 {
@@ -445,7 +445,7 @@
 
 
 template<class _CharT, class _Traits>
-inline _TYPENAME basic_istream<_CharT, _Traits>::int_type
+inline typename basic_istream<_CharT, _Traits>::int_type
 basic_istream<_CharT, _Traits>::peek ()
 {
     _RWSTD_ASSERT (0 != this->rdbuf ());
@@ -543,7 +543,7 @@
 ws (basic_istream<_CharT, _Traits> &__strm)
 {
     // construct a sentry to flush tied stream (if any) and lock
-    const _TYPENAME basic_istream<_CharT, _Traits>::sentry
+    const typename basic_istream<_CharT, _Traits>::sentry
         __ipfx (__strm, true /* noskipws */);
 
     // if sentry is okay, skip whitespace and set eofbit
@@ -572,11 +572,11 @@
     // prevent ambiguity between types defined in the bases
     typedef _CharT                          char_type;
     typedef _Traits                         traits_type;
-    typedef _TYPENAME traits_type::int_type int_type;
-    typedef _TYPENAME traits_type::pos_type pos_type;
-    typedef _TYPENAME traits_type::off_type off_type;
+    typedef typename traits_type::int_type int_type;
+    typedef typename traits_type::pos_type pos_type;
+    typedef typename traits_type::off_type off_type;
 
-    _EXPLICIT basic_iostream (basic_streambuf<_CharT, _Traits> *__sb)
+    explicit basic_iostream (basic_streambuf<_CharT, _Traits> *__sb)
         : basic_istream<_CharT, _Traits>(__sb), 
           basic_ostream<_CharT, _Traits>(__sb)
         { /* 27.6.1.5.1, p1 */ }

Modified: stdcxx/trunk/include/istream.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/istream.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/istream.cc (original)
+++ stdcxx/trunk/include/istream.cc Fri Aug  1 13:51:17 2008
@@ -44,7 +44,7 @@
     _STD::ios_base::iostate __err = _STD::ios_base::goodbit;
 
     // eat leading whitespace, catching exceptions from sentry
-    const _TYPENAME _STD::basic_istream<_CharT, _Traits>::sentry
+    const typename _STD::basic_istream<_CharT, _Traits>::sentry
         __ipfx (__strm /* , noskipws = false */);
 
     if (__ipfx) {
@@ -150,7 +150,7 @@
 
 
 template<class _CharT, class _Traits>
-_TYPENAME basic_istream<_CharT, _Traits>::int_type
+typename basic_istream<_CharT, _Traits>::int_type
 basic_istream<_CharT, _Traits>::
 _C_unsafe_get (streamsize *__cnt   /* = 0     */,               
                int_type    __delim /* = eof() */,
@@ -447,7 +447,7 @@
 
 
 template<class _CharT, class _Traits>
-_TYPENAME basic_istream<_CharT, _Traits>::pos_type
+typename basic_istream<_CharT, _Traits>::pos_type
 basic_istream<_CharT, _Traits>::
 tellg ()
 {

Modified: stdcxx/trunk/include/list
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/list?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/list (original)
+++ stdcxx/trunk/include/list Fri Aug  1 13:51:17 2008
@@ -76,10 +76,10 @@
 
 public:
 
-    typedef _TYPENAME _C_iter_base::value_type      value_type;
-    typedef _TYPENAME _C_iter_base::difference_type difference_type;
-    typedef _TYPENAME _C_iter_base::pointer         pointer;
-    typedef _TYPENAME _C_iter_base::reference       reference;
+    typedef typename _C_iter_base::value_type      value_type;
+    typedef typename _C_iter_base::difference_type difference_type;
+    typedef typename _C_iter_base::pointer         pointer;
+    typedef typename _C_iter_base::reference       reference;
 
     // const_pointer and const_reference must be explicity typedef'ed to
     // const value_type* and const value_type& since we don't know if
@@ -182,12 +182,12 @@
 
     typedef _TypeT                                    value_type;
     typedef _Allocator                                allocator_type;
-    typedef _TYPENAME allocator_type::reference       reference;
-    typedef _TYPENAME allocator_type::const_reference const_reference;
-    typedef _TYPENAME allocator_type::size_type       size_type;
-    typedef _TYPENAME allocator_type::difference_type difference_type;
-    typedef _TYPENAME allocator_type::pointer         pointer;
-    typedef _TYPENAME allocator_type::const_pointer   const_pointer;
+    typedef typename allocator_type::reference       reference;
+    typedef typename allocator_type::const_reference const_reference;
+    typedef typename allocator_type::size_type       size_type;
+    typedef typename allocator_type::difference_type difference_type;
+    typedef typename allocator_type::pointer         pointer;
+    typedef typename allocator_type::const_pointer   const_pointer;
     typedef __rw_list_node<value_type>                _C_list_node;
     typedef _C_list_node*                             _C_link_type;
 
@@ -262,15 +262,15 @@
     // Node buffer data structure
     struct _C_nodebuf {
         typedef _RWSTD_REBIND (allocator_type, _C_nodebuf) _C_alloc_type;
-        typedef _TYPENAME _C_alloc_type::pointer           _C_pointer;
+        typedef typename _C_alloc_type::pointer           _C_pointer;
 
         _C_pointer   _C_next_buf;
         size_type    _C_bufsize;
         _C_link_type _C_buffer;
     };
 
-    typedef _TYPENAME _C_nodebuf::_C_alloc_type _C_buf_alloc_type;
-    typedef _TYPENAME _C_nodebuf::_C_pointer    _C_buf_pointer;
+    typedef typename _C_nodebuf::_C_alloc_type _C_buf_alloc_type;
+    typedef typename _C_nodebuf::_C_pointer    _C_buf_pointer;
 
     void _C_add_buffer (bool);
     void _C_free_buffers ();
@@ -378,14 +378,14 @@
 
 public:
 
-    _EXPLICIT
+    explicit
     list (const allocator_type& __alloc = allocator_type ())
         : allocator_type (__alloc), _RWSTD_NODE_BUFFER_INIT(0,0)
           _C_next_avail (0), _C_last (0), _C_node (0), _C_length (0) {
         _C_init (true);
     }
     
-    _EXPLICIT
+    explicit
     list (size_type             __n, 
           const_reference       __x     = value_type (),
           const allocator_type &__alloc = allocator_type ())
@@ -603,19 +603,10 @@
     // uses transfer_node to merge in list by transfering nodes to list
     void _C_adjacent_merge (iterator, iterator, iterator);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // uses transfer_node to merge in list by transfering nodes to list
     template<class _Compare>
     void _C_adjacent_merge (iterator, iterator, iterator, _Compare);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    void _C_adjacent_merge (iterator, iterator, iterator,
-                           bool (*)(const_reference, const_reference));
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-      
     void _C_insert (iterator __it, size_type __n, const_reference __x) {
         _RWSTD_ASSERT_RANGE (begin (), __it);
 
@@ -655,8 +646,6 @@
 
     void sort ();
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template<class _Predicate>
     void remove_if (_Predicate);
 
@@ -669,18 +658,6 @@
     template<class _Compare>
     void sort (_Compare);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    void remove_if (bool (*)(const_reference));
-
-    void unique (bool (*)(const_reference, const_reference));
-
-    void merge (list &__x, bool (*)(const_reference, const_reference));
-
-    void sort (bool (*)(const_reference, const_reference));
-
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
-
 };
 
 
@@ -753,7 +730,7 @@
 
 
 template <class _TypeT, class _Allocator>
-inline _TYPENAME list<_TypeT, _Allocator>::iterator 
+inline typename list<_TypeT, _Allocator>::iterator 
 list<_TypeT, _Allocator>::insert (iterator __it, const_reference __x)
 {
     _RWSTD_ASSERT_RANGE (begin (), __it);
@@ -787,7 +764,7 @@
 
 
 template <class _TypeT, class _Allocator>
-inline _TYPENAME list<_TypeT, _Allocator>::iterator 
+inline typename list<_TypeT, _Allocator>::iterator 
 list<_TypeT, _Allocator>::erase (iterator __it)
 {
     _RWSTD_ASSERT_RANGE (begin (), __it);

Modified: stdcxx/trunk/include/list.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/list.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/list.cc (original)
+++ stdcxx/trunk/include/list.cc Fri Aug  1 13:51:17 2008
@@ -55,7 +55,7 @@
 
 
 template <class _TypeT, class _Allocator>
-_TYPENAME list<_TypeT, _Allocator>::iterator 
+typename list<_TypeT, _Allocator>::iterator 
 list<_TypeT, _Allocator>::erase (iterator __first, iterator __last)
 {
     _RWSTD_ASSERT_RANGE (begin (), __first);
@@ -457,22 +457,11 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::
 _C_adjacent_merge (iterator __first1, iterator __last1, iterator __last2,
                    _Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-_C_adjacent_merge (iterator __first1, iterator __last1, iterator __last2,
-                   bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     difference_type __n = _DISTANCE (__first1, __last1, difference_type);
 
@@ -490,19 +479,9 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template<class _Predicate>
 void list<_TypeT, _Allocator>::remove_if (_Predicate __pred)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::remove_if (bool (*__pred)(const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 {
     iterator __first = begin ();
     iterator __last = end ();
@@ -516,19 +495,10 @@
     }
 }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
 
 template<class _TypeT, class _Allocator>
 template<class _BinaryPredicate>
 void list<_TypeT, _Allocator>::unique (_BinaryPredicate __pred)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-unique (bool (*__pred)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     iterator __first = begin ();
     iterator __last = end ();
@@ -547,21 +517,10 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::
 merge (list<_TypeT, _Allocator>& __x, _Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-merge (list<_TypeT, _Allocator>& __x,
-       bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     if (&__x == this)
         return;
@@ -585,19 +544,9 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::sort (_Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-sort (bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     for (size_type __n = 1; __n < size (); __n *= 2) {
 

Modified: stdcxx/trunk/include/loc/_codecvt.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_codecvt.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_codecvt.h (original)
+++ stdcxx/trunk/include/loc/_codecvt.h Fri Aug  1 13:51:17 2008
@@ -118,7 +118,7 @@
 
 public:
 
-    _EXPLICIT codecvt (_RWSTD_SIZE_T __ref = 0): _RW::__rw_facet (__ref) { }
+    explicit codecvt (_RWSTD_SIZE_T __ref = 0): _RW::__rw_facet (__ref) { }
 
     // 22,2,1,5,1, p1
     result out (state_type& __state,
@@ -186,7 +186,7 @@
     typedef char             intern_type;
     typedef _RWSTD_MBSTATE_T state_type;
 
-    _EXPLICIT codecvt (_RWSTD_SIZE_T = 0);
+    explicit codecvt (_RWSTD_SIZE_T = 0);
 
     virtual ~codecvt ();
 
@@ -330,7 +330,7 @@
 
 public:
 
-    _EXPLICIT codecvt (_RWSTD_SIZE_T = 0);
+    explicit codecvt (_RWSTD_SIZE_T = 0);
 
     result out (state_type& __state,
                 const intern_type *__from, const intern_type *__from_end,
@@ -394,7 +394,7 @@
     typedef _ExternT extern_type;
     typedef _StateT  state_type; 
 
-    _EXPLICIT codecvt_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit codecvt_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : codecvt <_InternT, _ExternT, _StateT> (__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }
@@ -413,7 +413,7 @@
 
 public:
 
-    _EXPLICIT codecvt_byname (const char*, _RWSTD_SIZE_T = 0);
+    explicit codecvt_byname (const char*, _RWSTD_SIZE_T = 0);
 
 protected:
 

Modified: stdcxx/trunk/include/loc/_collate.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_collate.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_collate.h (original)
+++ stdcxx/trunk/include/loc/_collate.h Fri Aug  1 13:51:17 2008
@@ -63,7 +63,7 @@
                          allocator<char_type> >
     string_type;
 
-    _EXPLICIT collate (_RWSTD_SIZE_T __refs = 0)
+    explicit collate (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     int
@@ -110,7 +110,7 @@
                          allocator<char_type> >
     string_type;
 
-    _EXPLICIT collate (_RWSTD_SIZE_T __refs = 0)
+    explicit collate (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     int
@@ -156,7 +156,7 @@
                          allocator<char_type> >
     string_type;
 
-    _EXPLICIT collate (_RWSTD_SIZE_T __refs = 0)
+    explicit collate (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     int
@@ -200,7 +200,7 @@
 
 public:
 
-    _EXPLICIT collate_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit collate_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : collate<_CharT>(__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }
@@ -213,7 +213,7 @@
     char _C_namebuf [32];
 public:
 
-    _EXPLICIT collate_byname (const char* __name, _RWSTD_SIZE_T __ref = 0)
+    explicit collate_byname (const char* __name, _RWSTD_SIZE_T __ref = 0)
         :  collate<char_type>(__ref){ 
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }
@@ -237,7 +237,7 @@
     char _C_namebuf [32];
 public:
 
-    _EXPLICIT collate_byname (const char* __name, _RWSTD_SIZE_T __ref = 0)
+    explicit collate_byname (const char* __name, _RWSTD_SIZE_T __ref = 0)
         :  collate<char_type>(__ref){ 
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }

Modified: stdcxx/trunk/include/loc/_ctype.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_ctype.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_ctype.cc (original)
+++ stdcxx/trunk/include/loc/_ctype.cc Fri Aug  1 13:51:17 2008
@@ -37,7 +37,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_is (const char_type *__lo, const char_type *__hi, mask *__m) const
 {
@@ -52,7 +52,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_scan_is (mask __m, const char_type *__lo, const char_type *__hi) const
 {
@@ -68,7 +68,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_scan_not (mask __m, const char_type *__lo, const char_type *__hi) const
 {
@@ -84,7 +84,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_toupper (char_type *__lo, const char_type *__hi) const
 {
@@ -99,7 +99,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_tolower (char_type *__lo, const char_type *__hi) const
 {
@@ -128,7 +128,7 @@
 
 
 template <class _CharT> 
-/* virtual */ const _TYPENAME ctype<_CharT>::char_type*
+/* virtual */ const typename ctype<_CharT>::char_type*
 ctype<_CharT>::
 do_narrow (const char_type *__lo, const char_type *__hi,
            char __dfault, char *__dest) const

Modified: stdcxx/trunk/include/loc/_ctype.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_ctype.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_ctype.h (original)
+++ stdcxx/trunk/include/loc/_ctype.h Fri Aug  1 13:51:17 2008
@@ -102,7 +102,7 @@
 
     typedef _CharT char_type;
 
-    _EXPLICIT ctype (_RWSTD_SIZE_T __ref = 0)
+    explicit ctype (_RWSTD_SIZE_T __ref = 0)
         : _RW::__rw_facet (__ref) { }
 
 
@@ -242,7 +242,7 @@
 
     _RWSTD_STATIC_CONST (_RWSTD_SIZE_T, table_size = 256);
 
-    _EXPLICIT ctype (const mask* = 0, bool = false, _RWSTD_SIZE_T = 0);
+    explicit ctype (const mask* = 0, bool = false, _RWSTD_SIZE_T = 0);
 
     const char_type* is (const char_type*, const char_type*, mask*) const;
 
@@ -390,7 +390,7 @@
 
 public:
 
-    _EXPLICIT ctype_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit ctype_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : ctype<_CharT>(__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }
@@ -404,7 +404,7 @@
 
 public:
 
-    _EXPLICIT ctype_byname (const char*, _RWSTD_SIZE_T = 0);
+    explicit ctype_byname (const char*, _RWSTD_SIZE_T = 0);
 };
 
 
@@ -421,7 +421,7 @@
 
     typedef wchar_t char_type;
 
-    _EXPLICIT ctype (_RWSTD_SIZE_T = 0);
+    explicit ctype (_RWSTD_SIZE_T = 0);
 
     // 22.2.1.1.1, p1
     bool is (mask __m, char_type __c) const {
@@ -597,7 +597,7 @@
 {
 public:
 
-    _EXPLICIT ctype_byname (const char*, _RWSTD_SIZE_T = 0);
+    explicit ctype_byname (const char*, _RWSTD_SIZE_T = 0);
 
 protected:
 

Modified: stdcxx/trunk/include/loc/_facet.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_facet.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_facet.h (original)
+++ stdcxx/trunk/include/loc/_facet.h Fri Aug  1 13:51:17 2008
@@ -64,7 +64,7 @@
 
 #endif   // !MSVC || 5 <= stdcxx version
 
-    _EXPLICIT __rw_facet (_RWSTD_SIZE_T = 0);
+    explicit __rw_facet (_RWSTD_SIZE_T = 0);
 
     virtual ~__rw_facet ();
 

Modified: stdcxx/trunk/include/loc/_locale.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_locale.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_locale.h (original)
+++ stdcxx/trunk/include/loc/_locale.h Fri Aug  1 13:51:17 2008
@@ -175,83 +175,28 @@
     _RWSTD_MEMBER_EXPORT locale (const locale&) _THROWS (());
 
     // 22.1.1.2, p6
-    _RWSTD_MEMBER_EXPORT _EXPLICIT locale (const char*);
+    _RWSTD_MEMBER_EXPORT explicit locale (const char*);
 
     // 22.1.1.2, p9
     _RWSTD_MEMBER_EXPORT locale (const locale&, const char*, category);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // 22.1.1.2, p12
     template <class _Facet>
     locale (const locale&, _Facet*);
 
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
     // 22.1.1.3, p1
     template <class _Facet>
     locale combine (const locale&) const;
 
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
     // 22.1.1.4, p3
     template <class _CharT, class _Traits, class _Allocator>
     bool operator() (const basic_string<_CharT, _Traits, _Allocator>&,
                      const basic_string<_CharT, _Traits, _Allocator>&) const;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    template <class _Facet>
-    locale (const locale &__rhs, _Facet *__facet)
-        : _C_body (0) {
-        // initialize facet's member id to point to Facet::id
-        if (__facet && !__facet->_C_pid) {
-        // unusual cast (to size_t** rather than size_t*&)
-        // done to work around an HP aCC 3.3x bug
-            *_RWSTD_CONST_CAST (_RWSTD_SIZE_T**, &__facet->_C_pid) =
-                &_Facet::id._C_id;
-        }
-
-        // uninitialized Facet::id will be initialized by has_facet<>()
-
-        // prevent passing `facet' the ctor if it is installed
-        // in `rhs' to potentially avoid creating a whole new body
-        if (   has_facet<_Facet>(__rhs)
-            && &use_facet<_Facet>(__rhs) == __facet)
-            __facet = 0;
-
-        *this = locale (*__rhs._C_body, __facet);
-    }
-
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
-
-    template <class _Facet>
-    locale combine (const locale &__rhs) const {
-        // unitialized Facet::id will be initialized by has_facet<>()
-
-        _RWSTD_REQUIRES (has_facet<_Facet>(__rhs),
-                         (_RWSTD_ERROR_FACET_NOT_FOUND,
-                         _RWSTD_FUNC ("locale::combine (const locale&)"),
-                         _Facet::id._C_id, __rhs.name ().c_str ()));
-
-        return locale (__rhs, &use_facet<_Facet>(__rhs));
-    }
-
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
-
-    template <class _CharT, class _Traits, class _Allocator>
-    bool
-    operator() (const basic_string<_CharT, _Traits, _Allocator> &__x,
-                const basic_string<_CharT, _Traits, _Allocator> &__y) const {
-        // qualify collate to distinguish it from locale::collate
-        return use_facet<_STD::collate<_CharT> >(*this)
-            .compare (__x.data (), __x.data () + __x.length (),
-                      __y.data (), __y.data () + __y.length ()) < 0;
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
-
     // 22.1.1.2, p14
     _RWSTD_MEMBER_EXPORT locale (const locale&, const locale&, category);
 
@@ -280,7 +225,7 @@
 
 private:
 
-    _RWSTD_MEMBER_EXPORT _EXPLICIT locale (_RW::__rw_locale &__rhs) 
+    _RWSTD_MEMBER_EXPORT explicit locale (_RW::__rw_locale &__rhs) 
         _THROWS (())
         : _C_body (&__rhs) { }
 
@@ -506,8 +451,6 @@
 _RWSTD_NAMESPACE (std) {
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _Facet>
 inline locale::locale (const locale &__rhs, _Facet *__facet)
     : _C_body (0)
@@ -531,7 +474,7 @@
 }
 
 
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
 template <class _Facet>
 inline locale locale::combine (const locale &__rhs) const
@@ -546,7 +489,7 @@
     return locale (*this, &use_facet<_Facet>(__rhs));
 }
 
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
 
 template <class _CharT, class _Traits, class _Allocator>
@@ -561,9 +504,6 @@
 }
 
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
-
 }   // namespace std
 
 

Modified: stdcxx/trunk/include/loc/_messages.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_messages.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_messages.cc (original)
+++ stdcxx/trunk/include/loc/_messages.cc Fri Aug  1 13:51:17 2008
@@ -55,7 +55,7 @@
 
 
 template <class _CharT>
-_TYPENAME messages<_CharT>::string_type
+typename messages<_CharT>::string_type
 messages<_CharT>::do_get (messages_base::catalog __cat,
                           int                    __set,
                           int                    __msgid,
@@ -67,7 +67,7 @@
         typedef _STD::codecvt<_CharT, char, _RWSTD_MBSTATE_T>
             _CodeCvt;
 
-        typedef _TYPENAME _CodeCvt::state_type state_type;
+        typedef typename _CodeCvt::state_type state_type;
 
         const _CodeCvt& __codecvt =
             _RWSTD_USE_FACET (_CodeCvt, _RW::__rw_get_locale (__cat));

Modified: stdcxx/trunk/include/loc/_messages.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_messages.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_messages.h (original)
+++ stdcxx/trunk/include/loc/_messages.h Fri Aug  1 13:51:17 2008
@@ -81,7 +81,7 @@
     typedef basic_string<char_type, char_traits<char_type>,
                          allocator<char_type> > string_type;
 
-    _EXPLICIT messages (_RWSTD_SIZE_T __refs = 0)
+    explicit messages (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
 
@@ -132,7 +132,7 @@
 
 public:
 
-    _EXPLICIT messages_byname (const char *__name, _RWSTD_SIZE_T __refs = 0)
+    explicit messages_byname (const char *__name, _RWSTD_SIZE_T __refs = 0)
         : messages<_CharT>(__refs) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }

Modified: stdcxx/trunk/include/loc/_money_get.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_get.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_money_get.cc (original)
+++ stdcxx/trunk/include/loc/_money_get.cc Fri Aug  1 13:51:17 2008
@@ -53,7 +53,7 @@
 
 
 template <class _CharT, class _InputIter>
-_TYPENAME money_get<_CharT, _InputIter>::iter_type
+typename money_get<_CharT, _InputIter>::iter_type
 money_get<_CharT, _InputIter>::
 _C_get (iter_type __it, iter_type __end, bool __intl, ios_base &__flags,
         _RWSTD_IOSTATE &__err, void *__pval, string_type *__pstr) const
@@ -86,7 +86,7 @@
     char __buf [304];
     char *__pcur = __buf;
 
-    typedef _TYPENAME string_type::traits_type _Traits;
+    typedef typename string_type::traits_type _Traits;
 
     char __grpbuf [sizeof __buf];    // holds sizes of discovered groups
     char       *__pgrp = __grpbuf;   // current group

Modified: stdcxx/trunk/include/loc/_money_get.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_get.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_money_get.h (original)
+++ stdcxx/trunk/include/loc/_money_get.h Fri Aug  1 13:51:17 2008
@@ -58,7 +58,7 @@
     basic_string<char_type, char_traits<char_type>, allocator<char_type> >
     string_type;
 
-    _EXPLICIT money_get (_RWSTD_SIZE_T __ref = 0)
+    explicit money_get (_RWSTD_SIZE_T __ref = 0)
         : _RW::__rw_facet (__ref) { }
 
     iter_type get (iter_type __begin, iter_type __end, bool __intl,

Modified: stdcxx/trunk/include/loc/_money_put.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_put.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_money_put.cc (original)
+++ stdcxx/trunk/include/loc/_money_put.cc Fri Aug  1 13:51:17 2008
@@ -52,7 +52,7 @@
 
 
 template <class _CharT, class _OutputIter>
-/* private */ _TYPENAME money_put<_CharT, _OutputIter>::iter_type
+/* private */ typename money_put<_CharT, _OutputIter>::iter_type
 money_put<_CharT, _OutputIter>::
 _C_put (iter_type __it, int __opts, ios_base &__flags, char_type __fill,
         const char_type *__s, _RWSTD_SIZE_T __n, int __fd,
@@ -284,7 +284,7 @@
 
 
 template <class _CharT, class _OutputIter>
-/* virtual */ _TYPENAME money_put<_CharT, _OutputIter>::iter_type
+/* virtual */ typename money_put<_CharT, _OutputIter>::iter_type
 money_put<_CharT, _OutputIter>::
 do_put (iter_type __i, bool __intl, ios_base &__flags, char_type __fill,
         long double __val) const
@@ -334,7 +334,7 @@
 
 
 template <class _CharT, class _OutputIter>
-/* virtual */ _TYPENAME money_put<_CharT, _OutputIter>::iter_type
+/* virtual */ typename money_put<_CharT, _OutputIter>::iter_type
 money_put<_CharT, _OutputIter>::
 do_put (iter_type __i, bool __intl, ios_base &__flags, char_type __fill,
         const string_type &__str) const
@@ -365,7 +365,7 @@
     _RWSTD_SIZE_T  __strdigs = 0;          // number of digits in `str'
 
     typedef string::traits_type                   _Traits;
-    typedef _TYPENAME string_type::const_iterator _StringIter;
+    typedef typename string_type::const_iterator _StringIter;
 
     char        __buf [304];            // buffer for groups
     static char __nul    = '\0';        // `groups' must be non-0

Modified: stdcxx/trunk/include/loc/_money_put.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_put.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_money_put.h (original)
+++ stdcxx/trunk/include/loc/_money_put.h Fri Aug  1 13:51:17 2008
@@ -60,7 +60,7 @@
     basic_string<char_type, char_traits<char_type>, allocator<char_type> >
     string_type;
 
-    _EXPLICIT money_put (_RWSTD_SIZE_T __ref = 0)
+    explicit money_put (_RWSTD_SIZE_T __ref = 0)
         : _RW::__rw_facet (__ref) { }
 
     // 22.2.6.2.1, p1

Modified: stdcxx/trunk/include/loc/_moneypunct.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_moneypunct.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_moneypunct.h (original)
+++ stdcxx/trunk/include/loc/_moneypunct.h Fri Aug  1 13:51:17 2008
@@ -65,7 +65,7 @@
     basic_string<char_type, char_traits<char_type>, allocator<char_type> >
     string_type;
 
-    _EXPLICIT moneypunct (_RWSTD_SIZE_T __refs = 0)
+    explicit moneypunct (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     char_type decimal_point () const {
@@ -207,7 +207,7 @@
 
 public:
 
-    _EXPLICIT moneypunct_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit moneypunct_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : moneypunct<_CharT, _Intl>(__ref) {
             this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
         }

Modified: stdcxx/trunk/include/loc/_num_get.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_get.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_num_get.cc (original)
+++ stdcxx/trunk/include/loc/_num_get.cc Fri Aug  1 13:51:17 2008
@@ -64,7 +64,7 @@
 #ifndef _RWSTD_NO_EXT_NUM_GET
 
 template <class _CharT, class _InputIter>
-_TYPENAME num_get<_CharT, _InputIter>::iter_type
+typename num_get<_CharT, _InputIter>::iter_type
 num_get<_CharT, _InputIter>::
 get (iter_type __begin, iter_type __end, ios_base &__flags, 
      _RWSTD_IOSTATE &__err, short &__val) const
@@ -83,7 +83,7 @@
 
 
 template <class _CharT, class _InputIter>
-_TYPENAME num_get<_CharT, _InputIter>::iter_type
+typename num_get<_CharT, _InputIter>::iter_type
 num_get<_CharT, _InputIter>::
 get (iter_type __begin, iter_type __end, ios_base &__flags, 
      _RWSTD_IOSTATE &__err, int &__val) const
@@ -106,7 +106,7 @@
 #ifndef _RWSTD_NO_NATIVE_BOOL
 
 template <class _CharT, class _InputIter /* = istreambuf_iterator<_CharT> */>
-_TYPENAME num_get<_CharT, _InputIter>::iter_type
+typename num_get<_CharT, _InputIter>::iter_type
 num_get<_CharT, _InputIter>::
 do_get (iter_type __begin, iter_type __end, ios_base &__flags,
         _RWSTD_IOSTATE &__err, bool &__val) const
@@ -172,7 +172,7 @@
 
 
 template <class _CharT, class _InputIter /* = istreambuf_iterator<_CharT> */>
-_TYPENAME num_get<_CharT, _InputIter>::iter_type
+typename num_get<_CharT, _InputIter>::iter_type
 num_get<_CharT, _InputIter>::
 _C_get (iter_type __begin, iter_type __end, ios_base &__flags,
         _RWSTD_IOSTATE &__err, int __type, void *__pval) const

Modified: stdcxx/trunk/include/loc/_num_get.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_get.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_num_get.h (original)
+++ stdcxx/trunk/include/loc/_num_get.h Fri Aug  1 13:51:17 2008
@@ -58,7 +58,7 @@
 
     static _RW::__rw_facet_id id;
 
-    _EXPLICIT num_get (_RWSTD_SIZE_T __refs = 0)
+    explicit num_get (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
 #ifndef _RWSTD_NO_NATIVE_BOOL

Modified: stdcxx/trunk/include/loc/_num_put.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_put.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_num_put.cc (original)
+++ stdcxx/trunk/include/loc/_num_put.cc Fri Aug  1 13:51:17 2008
@@ -70,7 +70,7 @@
 
 
 template <class _CharT, class _OutputIter /* = ostreambuf_iterator<_CharT> */>
-_TYPENAME num_put<_CharT, _OutputIter>::iter_type
+typename num_put<_CharT, _OutputIter>::iter_type
 num_put<_CharT, _OutputIter>::
 _C_put (iter_type __it, ios_base &__flags, char_type __fill, int __type,
         const void *__pval) const

Modified: stdcxx/trunk/include/loc/_num_put.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_put.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_num_put.h (original)
+++ stdcxx/trunk/include/loc/_num_put.h Fri Aug  1 13:51:17 2008
@@ -56,7 +56,7 @@
     typedef _CharT      char_type;
     typedef _OutputIter iter_type;
 
-    _EXPLICIT num_put (_RWSTD_SIZE_T __refs = 0)
+    explicit num_put (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     virtual ~num_put ();

Modified: stdcxx/trunk/include/loc/_numpunct.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_numpunct.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_numpunct.h (original)
+++ stdcxx/trunk/include/loc/_numpunct.h Fri Aug  1 13:51:17 2008
@@ -60,7 +60,7 @@
     basic_string<char_type, char_traits<char_type>, allocator<char_type> >
     string_type;
 
-    _EXPLICIT numpunct (_RWSTD_SIZE_T __ref = 0)
+    explicit numpunct (_RWSTD_SIZE_T __ref = 0)
         : _RW::__rw_facet (__ref), _C_flags (0) { }
 
     virtual ~numpunct ();
@@ -136,7 +136,7 @@
 
 
 template <class _CharT>
-inline _TYPENAME numpunct<_CharT>::char_type
+inline typename numpunct<_CharT>::char_type
 numpunct<_CharT>::decimal_point () const
 {
     if (!(_C_flags & _RW::__rw_dp)) {
@@ -154,7 +154,7 @@
 
 
 template <class _CharT>
-inline _TYPENAME numpunct<_CharT>::char_type
+inline typename numpunct<_CharT>::char_type
 numpunct<_CharT>::thousands_sep () const
 {
     if (!(_C_flags & _RW::__rw_ts)) {
@@ -189,7 +189,7 @@
 
 
 template <class _CharT>
-inline _TYPENAME numpunct<_CharT>::string_type
+inline typename numpunct<_CharT>::string_type
 numpunct<_CharT>::truename () const
 {
     if (!(_C_flags & _RW::__rw_tn)) {
@@ -207,7 +207,7 @@
 
 
 template <class _CharT>
-inline _TYPENAME numpunct<_CharT>::string_type
+inline typename numpunct<_CharT>::string_type
 numpunct<_CharT>::falsename () const
 {
     if (!(_C_flags & _RW::__rw_fn)) {
@@ -234,7 +234,7 @@
 
 public:
 
-    _EXPLICIT numpunct_byname (const char *__name, _RWSTD_SIZE_T __refs = 0)
+    explicit numpunct_byname (const char *__name, _RWSTD_SIZE_T __refs = 0)
         : numpunct<_CharT>(__refs) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }

Modified: stdcxx/trunk/include/loc/_time_get.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_time_get.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_time_get.cc (original)
+++ stdcxx/trunk/include/loc/_time_get.cc Fri Aug  1 13:51:17 2008
@@ -51,7 +51,7 @@
 
 
 template <class _CharT, class _InputIter>
-_TYPENAME time_get<_CharT, _InputIter>::iter_type
+typename time_get<_CharT, _InputIter>::iter_type
 time_get<_CharT, _InputIter>::
 get (iter_type __it, iter_type __end, ios_base &__fl, _RWSTD_IOSTATE &__err,
      tm *__tmb, const char_type *__pat, const char_type *__pat_end) const
@@ -121,7 +121,7 @@
 
 
 template <class _CharT, class _InputIter>
-/* virtual */ _TYPENAME time_get<_CharT, _InputIter>::iter_type
+/* virtual */ typename time_get<_CharT, _InputIter>::iter_type
 time_get<_CharT, _InputIter>::
 do_get (iter_type __it, iter_type __end, ios_base &__fl,
         _RWSTD_IOSTATE &__err, tm *__tmb,

Modified: stdcxx/trunk/include/loc/_time_get.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_time_get.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_time_get.h (original)
+++ stdcxx/trunk/include/loc/_time_get.h Fri Aug  1 13:51:17 2008
@@ -72,7 +72,7 @@
     typedef _CharT                         char_type;
     typedef _InputIter                     iter_type;
 
-    _EXPLICIT time_get (_RWSTD_SIZE_T __ref = 0)
+    explicit time_get (_RWSTD_SIZE_T __ref = 0)
         : _RW::__rw_facet (__ref) { }
 
     dateorder date_order() const { 
@@ -203,7 +203,7 @@
 
 public:
 
-    _EXPLICIT time_get_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit time_get_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : time_get<_CharT, _InputIter>(__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }

Modified: stdcxx/trunk/include/loc/_time_put.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_time_put.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_time_put.cc (original)
+++ stdcxx/trunk/include/loc/_time_put.cc Fri Aug  1 13:51:17 2008
@@ -61,7 +61,7 @@
 
 
 template <class _CharT, class _OutputIter /* = ostreambuf_iterator<_CharT> */ >
-/* virtual */ _TYPENAME time_put<_CharT, _OutputIter>::iter_type
+/* virtual */ typename time_put<_CharT, _OutputIter>::iter_type
 time_put<_CharT, _OutputIter>::
 do_put (iter_type __it, ios_base &__flags, char_type __fill,
         const tm *__tmb, char __fmt, char __modifier /* = 0 */) const
@@ -98,7 +98,7 @@
 
 
 template <class _CharT, class _OutputIter /* = ostreambuf_iterator<_CharT> */ >
-_TYPENAME time_put<_CharT, _OutputIter>::iter_type
+typename time_put<_CharT, _OutputIter>::iter_type
 time_put<_CharT, _OutputIter>::
 put (iter_type __it, ios_base &__flags, char_type __fill, const tm *__tmb,
      const char_type *__pat, const char_type *__end) const

Modified: stdcxx/trunk/include/loc/_time_put.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_time_put.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/loc/_time_put.h (original)
+++ stdcxx/trunk/include/loc/_time_put.h Fri Aug  1 13:51:17 2008
@@ -58,7 +58,7 @@
     typedef _CharT      char_type;
     typedef _OutputIter iter_type;
 
-    _EXPLICIT time_put (_RWSTD_SIZE_T __refs = 0)
+    explicit time_put (_RWSTD_SIZE_T __refs = 0)
         : _RW::__rw_facet (__refs) { }
 
     // 22.2.5.3.1, p1
@@ -102,7 +102,7 @@
 
 public:
 
-    _EXPLICIT time_put_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
+    explicit time_put_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : time_put<_CharT, _OutputIter>(__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);
     }

Modified: stdcxx/trunk/include/map
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/map?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/map (original)
+++ stdcxx/trunk/include/map Fri Aug  1 13:51:17 2008
@@ -90,16 +90,16 @@
 
 public:
 
-    typedef _TYPENAME _C_repT::reference              reference;
-    typedef _TYPENAME _C_repT::const_reference        const_reference;
-    typedef _TYPENAME _C_repT::iterator               iterator;
-    typedef _TYPENAME _C_repT::const_iterator         const_iterator;
-    typedef _TYPENAME _C_repT::size_type              size_type;
-    typedef _TYPENAME _C_repT::difference_type        difference_type;
-    typedef _TYPENAME _C_repT::pointer                pointer;
-    typedef _TYPENAME _C_repT::const_pointer          const_pointer;
-    typedef _TYPENAME _C_repT::reverse_iterator       reverse_iterator;
-    typedef _TYPENAME _C_repT::const_reverse_iterator const_reverse_iterator;
+    typedef typename _C_repT::reference              reference;
+    typedef typename _C_repT::const_reference        const_reference;
+    typedef typename _C_repT::iterator               iterator;
+    typedef typename _C_repT::const_iterator         const_iterator;
+    typedef typename _C_repT::size_type              size_type;
+    typedef typename _C_repT::difference_type        difference_type;
+    typedef typename _C_repT::pointer                pointer;
+    typedef typename _C_repT::const_pointer          const_pointer;
+    typedef typename _C_repT::reverse_iterator       reverse_iterator;
+    typedef typename _C_repT::const_reverse_iterator const_reverse_iterator;
 
     struct value_compare: binary_function<value_type, value_type, bool> {
         // explicitly specified template arg-list below
@@ -118,7 +118,7 @@
     };
 
     // 23.3.1.1, p1
-    _EXPLICIT
+    explicit
     map (const key_compare &__cmp   = key_compare (),
          const allocator_type &__alloc = allocator_type ()) 
         : _C_rep (__cmp, __alloc) { }
@@ -298,16 +298,16 @@
 
 public:
 
-    typedef _TYPENAME _C_repT::reference              reference;
-    typedef _TYPENAME _C_repT::const_reference        const_reference;
-    typedef _TYPENAME _C_repT::iterator               iterator;
-    typedef _TYPENAME _C_repT::const_iterator         const_iterator; 
-    typedef _TYPENAME _C_repT::size_type              size_type;
-    typedef _TYPENAME _C_repT::difference_type        difference_type;
-    typedef _TYPENAME _C_repT::pointer                pointer;
-    typedef _TYPENAME _C_repT::const_pointer          const_pointer; 
-    typedef _TYPENAME _C_repT::reverse_iterator       reverse_iterator;
-    typedef _TYPENAME _C_repT::const_reverse_iterator const_reverse_iterator;
+    typedef typename _C_repT::reference              reference;
+    typedef typename _C_repT::const_reference        const_reference;
+    typedef typename _C_repT::iterator               iterator;
+    typedef typename _C_repT::const_iterator         const_iterator; 
+    typedef typename _C_repT::size_type              size_type;
+    typedef typename _C_repT::difference_type        difference_type;
+    typedef typename _C_repT::pointer                pointer;
+    typedef typename _C_repT::const_pointer          const_pointer; 
+    typedef typename _C_repT::reverse_iterator       reverse_iterator;
+    typedef typename _C_repT::const_reverse_iterator const_reverse_iterator;
 
     struct value_compare: binary_function<value_type, value_type, bool> {
         // explicitly specified template arg-list below
@@ -324,7 +324,7 @@
         value_compare (key_compare __cmp): comp (__cmp) { /* empty */ }
     };
 
-    _EXPLICIT
+    explicit
     multimap (const key_compare &__cmp = key_compare (),
               const allocator_type &__alloc = allocator_type ())
       : _C_rep (__cmp, __alloc) { }

Modified: stdcxx/trunk/include/ostream
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/ostream?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/ostream (original)
+++ stdcxx/trunk/include/ostream Fri Aug  1 13:51:17 2008
@@ -63,14 +63,14 @@
 public:
     typedef _CharT                             char_type;
     typedef _Traits                            traits_type;
-    typedef _TYPENAME traits_type::int_type    int_type;
-    typedef _TYPENAME traits_type::pos_type    pos_type;
-    typedef _TYPENAME traits_type::off_type    off_type;
+    typedef typename traits_type::int_type    int_type;
+    typedef typename traits_type::pos_type    pos_type;
+    typedef typename traits_type::off_type    off_type;
       
     typedef basic_ios<char_type, traits_type>  ios_type;
 
     // 27.6.2.2, p1
-    _EXPLICIT basic_ostream (basic_streambuf<char_type, traits_type> *__sb) {
+    explicit basic_ostream (basic_streambuf<char_type, traits_type> *__sb) {
         this->init (__sb);
     }
 
@@ -89,7 +89,7 @@
     // 27.6.2.3
     struct sentry: _RW::__rw_guard {
 
-        _EXPLICIT
+        explicit
         sentry (basic_ostream<char_type, traits_type> &__strm)
             : _RW::__rw_guard (__strm.rdbuf () ? __strm._C_bufmutex () : 0),
               _C_strm (__strm), _C_ok (_C_strm._C_opfx ().good ()) { }

Modified: stdcxx/trunk/include/ostream.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/ostream.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/ostream.cc (original)
+++ stdcxx/trunk/include/ostream.cc Fri Aug  1 13:51:17 2008
@@ -112,7 +112,7 @@
 
 
 template<class _CharT, class _Traits>
-_TYPENAME basic_ostream<_CharT, _Traits>::pos_type
+typename basic_ostream<_CharT, _Traits>::pos_type
 basic_ostream<_CharT, _Traits>::tellp ()
 {
     _RWSTD_ASSERT (0 != this->rdbuf ());

Modified: stdcxx/trunk/include/queue
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/queue?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/queue (original)
+++ stdcxx/trunk/include/queue Fri Aug  1 13:51:17 2008
@@ -76,11 +76,11 @@
 public:
 
     typedef _Container                                container_type;
-    typedef _TYPENAME container_type::value_type      value_type;
-    typedef _TYPENAME container_type::size_type       size_type;
+    typedef typename container_type::value_type      value_type;
+    typedef typename container_type::size_type       size_type;
     // lwg issue 307: additional typedefs
-    typedef _TYPENAME container_type::reference       reference;
-    typedef _TYPENAME container_type::const_reference const_reference;
+    typedef typename container_type::reference       reference;
+    typedef typename container_type::const_reference const_reference;
 
 protected:
 
@@ -88,7 +88,7 @@
 
 public:
 
-    _EXPLICIT
+    explicit
     queue (const container_type &__c = container_type ())
         : c (__c) { }
 
@@ -174,17 +174,17 @@
 
 template<class _TypeT,
          class _Container = vector<_TypeT>,
-         class _Compare = less<_TYPENAME _Container::value_type> >
+         class _Compare = less<typename _Container::value_type> >
 class priority_queue
 {
 public:
 
     typedef _Container                                container_type;
-    typedef _TYPENAME container_type::value_type      value_type;
-    typedef _TYPENAME container_type::size_type       size_type;
+    typedef typename container_type::value_type      value_type;
+    typedef typename container_type::size_type       size_type;
     // lwg issue 307: additional typedefs
-    typedef _TYPENAME container_type::reference       reference;
-    typedef _TYPENAME container_type::const_reference const_reference;
+    typedef typename container_type::reference       reference;
+    typedef typename container_type::const_reference const_reference;
 
 protected:
 
@@ -193,7 +193,7 @@
 
 public:
 
-    _EXPLICIT
+    explicit
     priority_queue (const _Compare       &__cmp = _Compare (),
                     const container_type &__c   = container_type ())
         : c (__c), comp (__cmp) {

Modified: stdcxx/trunk/include/rw/_algobase.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_algobase.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_algobase.h (original)
+++ stdcxx/trunk/include/rw/_algobase.h Fri Aug  1 13:51:17 2008
@@ -193,8 +193,8 @@
     // accommodate _FwdIter::operator*() that returns an rvalue that
     // doesn't bind to a non-const reference e.g., vector<bool>::reference
 
-    _TYPENAME iterator_traits<_FwdIter1>::reference __ref1 (*__a);
-    _TYPENAME iterator_traits<_FwdIter2>::reference __ref2 (*__b);
+    typename iterator_traits<_FwdIter1>::reference __ref1 (*__a);
+    typename iterator_traits<_FwdIter2>::reference __ref2 (*__b);
 
     _RW::__rw_swap (__ref1, __ref2);
 

Modified: stdcxx/trunk/include/rw/_allocator.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_allocator.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_allocator.h (original)
+++ stdcxx/trunk/include/rw/_allocator.h Fri Aug  1 13:51:17 2008
@@ -301,8 +301,8 @@
     typedef const value_type*                         const_pointer;
     typedef value_type&                               reference;
     typedef const value_type&                         const_reference;
-    typedef _TYPENAME allocator_type::size_type       size_type;
-    typedef _TYPENAME allocator_type::difference_type difference_type;
+    typedef typename allocator_type::size_type       size_type;
+    typedef typename allocator_type::difference_type difference_type;
 
 protected:
     allocator_type _C_alloc;

Modified: stdcxx/trunk/include/rw/_autoptr.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_autoptr.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_autoptr.h (original)
+++ stdcxx/trunk/include/rw/_autoptr.h Fri Aug  1 13:51:17 2008
@@ -96,8 +96,6 @@
 template <class _TypeT>
 class auto_ptr_ref 
 {
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template <class _TypeU>
     friend class auto_ptr;
 
@@ -107,16 +105,6 @@
     auto_ptr_ref (auto_ptr<_TypeU>& __rhs, const _TypeU* = 0) _THROWS (())
         : _C_ptr (_RWSTD_REINTERPRET_CAST (auto_ptr<_TypeT>&, __rhs)) { }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-public:
-
-    // useless, auto_ptr_ref necessary only for auto_ptr conversions
-    auto_ptr_ref (auto_ptr<_TypeT>& __rhs, const _TypeT* = 0) _THROWS (())
-        : _C_ptr (__rhs) { }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // reference to the owning auto_ptr object
     auto_ptr<_TypeT>& _C_ptr;
 };
@@ -129,7 +117,7 @@
     typedef _TypeT element_type;
 
     // 20.4.5.1, p1
-    _EXPLICIT auto_ptr (element_type* __p = 0) _THROWS (())
+    explicit auto_ptr (element_type* __p = 0) _THROWS (())
      : _C_ptr (__p) { }
 
     // 20.4.5.1, p2
@@ -147,8 +135,6 @@
         delete _C_ptr;
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // 20.4.5.1, p4
     template <class _TypeU>
     auto_ptr (auto_ptr<_TypeU>& __rhs) _THROWS (())
@@ -174,17 +160,8 @@
         return auto_ptr<_TypeU>(release ());
     }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    // 20.4.5.3, p3 (limited to T == U)
-    operator auto_ptr_ref<_TypeT>() _THROWS (()) {
-        return auto_ptr_ref<_TypeT>(*this, _C_ptr);
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // 20.4.5.2, p1
-    _TYPENAME _RW::__rw_nonvoid_ref<element_type>::_C_ref
+    typename _RW::__rw_nonvoid_ref<element_type>::_C_ref
     operator* () const _THROWS (()) {
         _RWSTD_ASSERT (0 != get ());
         return *get (); 

Modified: stdcxx/trunk/include/rw/_basic_ios.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_basic_ios.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_basic_ios.h (original)
+++ stdcxx/trunk/include/rw/_basic_ios.h Fri Aug  1 13:51:17 2008
@@ -77,9 +77,9 @@
 
     typedef _CharT                          char_type;
     typedef _Traits                         traits_type;
-    typedef _TYPENAME traits_type::int_type int_type;
-    typedef _TYPENAME traits_type::pos_type pos_type;
-    typedef _TYPENAME traits_type::int_type off_type;
+    typedef typename traits_type::int_type int_type;
+    typedef typename traits_type::pos_type pos_type;
+    typedef typename traits_type::int_type off_type;
 
 protected:
 
@@ -90,7 +90,7 @@
 
     // 27.4.4.1, p1 - NOTE: `sb' may point to a yet uninitialized
     //  object; it is unsafe to reference any of its members
-    _EXPLICIT basic_ios (streambuf_type *__sb) {
+    explicit basic_ios (streambuf_type *__sb) {
         init (__sb);
     }
 
@@ -248,7 +248,7 @@
 
 
 template<class _CharT, class _Traits>
-inline _TYPENAME basic_ios<_CharT, _Traits>::char_type
+inline typename basic_ios<_CharT, _Traits>::char_type
 basic_ios<_CharT, _Traits>::fill () const
 {
     // delayed initialization used to allow objects of stream types other
@@ -263,7 +263,7 @@
 
 
 template<class _CharT, class _Traits>
-inline _TYPENAME basic_ios<_CharT, _Traits>::char_type
+inline typename basic_ios<_CharT, _Traits>::char_type
 basic_ios<_CharT, _Traits>::fill (char_type __ch)
 {
     // convert to int type before swapping

Modified: stdcxx/trunk/include/rw/_config-acc.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config-acc.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config-acc.h (original)
+++ stdcxx/trunk/include/rw/_config-acc.h Fri Aug  1 13:51:17 2008
@@ -104,3 +104,12 @@
 #  define _RWSTD_ATTRIBUTE_NORETURN __attribute__ ((noreturn))
 #endif   // aCC >= 6
 
+
+#if 60000 <= __HP_aCC
+#  define _RWSTD_TT_ALIGN_OF(T)    __alignof__(T)
+#  define _RWSTD_TT_MAX_ALIGNMENT  128
+#  define _RWSTD_TT_ALIGNED_POD(N) \
+      struct { unsigned char _C_align __attribute__ ((aligned ((N)))); }
+#endif // __HP_aCC >= 6.00
+
+

Modified: stdcxx/trunk/include/rw/_config-eccp.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config-eccp.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config-eccp.h (original)
+++ stdcxx/trunk/include/rw/_config-eccp.h Fri Aug  1 13:51:17 2008
@@ -25,7 +25,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2007 Rogue Wave Software, Inc.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **************************************************************************/
 
@@ -55,10 +55,6 @@
 #  define _RWSTD_NO_UNCAUGHT_EXCEPTION
 #endif   // _RWSTD_REENTRANT
 
-#ifndef _RWSTD_NO_MBSTATE_T
-#  define _RWSTD_NO_MBSTATE_T
-#endif   // _RWSTD_NO_MBSTATE_T
-
 #undef _RWSTD_NO_DEPRECATED_C_HEADERS
 #undef _RWSTD_NO_PURE_C_HEADERS
 
@@ -70,3 +66,38 @@
 #    define _RWSTD_NO_EXCEPTIONS
 #  endif   // _RWSTD_NO_EXCEPTIONS
 #endif   // __EXCEPTIONS
+
+#if (310 <= __EDG_VERSION__)
+#  define _RWSTD_TT_IS_ENUM(T)              __is_enum(T)
+#  define _RWSTD_TT_IS_UNION(T)             __is_union(T)
+#  define _RWSTD_TT_IS_CLASS(T)             __is_class(T)
+#  define _RWSTD_TT_IS_POD(T)               __is_pod(T)
+
+#  define _RWSTD_TT_IS_EMPTY(T)             __is_empty(T)
+#  define _RWSTD_TT_IS_POLYMORPHIC(T)       __is_polymorphic(T)
+
+// __is_convertible_to() fails for decay and void-void conversions
+//#  define _RWSTD_TT_IS_CONVERTIBLE(T,U)     __is_convertible_to(T,U)
+#  define _RWSTD_TT_IS_ABSTRACT(T)          __is_abstract(T)
+
+// __is_base_of() gives false positives for union types
+//#  define _RWSTD_TT_IS_BASE_OF(T,U)         __is_base_of(T,U)
+
+#  define _RWSTD_TT_HAS_TRIVIAL_CTOR(T)     __has_trivial_constructor(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_COPY(T)     __has_trivial_copy(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_ASSIGN(T)   __has_trivial_assign(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_DTOR(T)     __has_trivial_destructor(T)
+
+#  define _RWSTD_TT_HAS_NOTHROW_CTOR(T)     __has_nothrow_constructor(T)
+#  define _RWSTD_TT_HAS_NOTHROW_COPY(T)     __has_nothrow_copy(T)
+#  define _RWSTD_TT_HAS_NOTHROW_ASSIGN(T)   __has_nothrow_assign(T)
+
+#  define _RWSTD_TT_HAS_VIRTUAL_DTOR(T)     __has_virtual_destructor(T)
+
+#  define _RWSTD_TT_ALIGN_OF(T)             __alignof__(T)
+#  define _RWSTD_TT_MAX_ALIGNMENT           16
+
+// need to find a way to align data
+//#  define _RWSTD_TT_ALIGNED_POD(N)          struct { double _C_align; }
+#endif   // __EDG_VERSION__ >= 3.10 
+

Modified: stdcxx/trunk/include/rw/_config-gcc.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config-gcc.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config-gcc.h (original)
+++ stdcxx/trunk/include/rw/_config-gcc.h Fri Aug  1 13:51:17 2008
@@ -176,30 +176,39 @@
 #endif  // _RWSTD_OS_SUNOS
 
 #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
-#  define _RWSTD_TT_IS_ENUM(T)                    __is_enum(T)
-#  define _RWSTD_TT_IS_UNION(T)                   __is_union(T)
-#  define _RWSTD_TT_IS_CLASS(T)                   __is_class(T)
-//#  define _RWSTD_TT_IS_FUNCTION(T)                __is_function(T)
-#  define _RWSTD_TT_IS_POD(T)                     __is_pod(T)
-#  define _RWSTD_TT_IS_EMPTY(T)                   __is_empty(T)
-#  define _RWSTD_TT_IS_POLYMORPHIC(T)             __is_polymorphic(T)
-#  define _RWSTD_TT_IS_ABSTRACT(T)                __is_abstract(T)
-#  define _RWSTD_TT_IS_BASE_OF(T,U)               __is_base_of(T,U)
-//#  define _RWSTD_TT_IS_CONVERTIBLE(T,U)           __is_convertible(T,U)
-
-#  define _RWSTD_TT_HAS_TRIVIAL_CTOR(T)           __has_trivial_constructor(T)
-#  define _RWSTD_TT_HAS_TRIVIAL_COPY(T)           __has_trivial_copy(T)
-#  define _RWSTD_TT_HAS_TRIVIAL_ASSIGN(T)         __has_trivial_assign(T)
-#  define _RWSTD_TT_HAS_TRIVIAL_DTOR(T)           __has_trivial_destructor(T)
-
-#  define _RWSTD_TT_HAS_NOTHROW_CTOR(T)           __has_nothrow_constructor(T)
-#  define _RWSTD_TT_HAS_NOTHROW_COPY(T)           __has_nothrow_copy(T)
-#  define _RWSTD_TT_HAS_NOTHROW_ASSIGN(T)         __has_nothrow_assign(T)
-
-#  define _RWSTD_TT_HAS_VIRTUAL_DTOR(T)           __has_virtual_destructor(T)
-
-#  define _RWSTD_TT_ALIGN_OF(T)                   __alignof__(T)
-#  define _RWSTD_TT_ALIGNED_POD(N)                struct { char __fill __attribute__ ((aligned (N))); }
-#  define _RWSTD_TT_MAX_ALIGNMENT                 16
+#  define _RWSTD_TT_IS_ENUM(T)              __is_enum(T)
+#  define _RWSTD_TT_IS_UNION(T)             __is_union(T)
+#  define _RWSTD_TT_IS_CLASS(T)             __is_class(T)
+#  define _RWSTD_TT_IS_POD(T)               __is_pod(T)
+#  define _RWSTD_TT_IS_EMPTY(T)             __is_empty(T)
+#  define _RWSTD_TT_IS_POLYMORPHIC(T)       __is_polymorphic(T)
+#  define _RWSTD_TT_IS_ABSTRACT(T)          __is_abstract(T)
+#  define _RWSTD_TT_IS_BASE_OF(T,U)         __is_base_of(T,U)
+
+#  define _RWSTD_TT_HAS_TRIVIAL_CTOR(T)     __has_trivial_constructor(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_COPY(T)     __has_trivial_copy(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_ASSIGN(T)   __has_trivial_assign(T)
+#  define _RWSTD_TT_HAS_TRIVIAL_DTOR(T)     __has_trivial_destructor(T)
+
+#  define _RWSTD_TT_HAS_NOTHROW_CTOR(T)     __has_nothrow_constructor(T)
+#  define _RWSTD_TT_HAS_NOTHROW_COPY(T)     __has_nothrow_copy(T)
+#  define _RWSTD_TT_HAS_NOTHROW_ASSIGN(T)   __has_nothrow_assign(T)
+
+#  define _RWSTD_TT_HAS_VIRTUAL_DTOR(T)     __has_virtual_destructor(T)
+
+#  define _RWSTD_TT_ALIGN_OF(T)             __alignof__(T)
+#  define _RWSTD_TT_MAX_ALIGNMENT           16
+#  define _RWSTD_TT_ALIGNED_POD(N) \
+     struct { unsigned char _C_align __attribute__ ((aligned ((N)))); }
+
+#  ifdef __GXX_EXPERIMENTAL_CXX0X__
+     // enable C++ 0x features disabled in builds
+     // configured without -std=c++0x or -std=gnu++0x
+
+     // C++ 0x features supported since 4.3.0
+#    undef _RWSTD_NO_VARIADIC_TEMPLATES
+#    undef _RWSTD_NO_RVALUE_REFERENCES
+#  endif
+
 #endif   // __GNUC__ >= 4.3
 

Modified: stdcxx/trunk/include/rw/_config-msvc.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config-msvc.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config-msvc.h (original)
+++ stdcxx/trunk/include/rw/_config-msvc.h Fri Aug  1 13:51:17 2008
@@ -103,6 +103,7 @@
 #  define _RWSTD_TT_IS_ABSTRACT(T)         __is_abstract(T) 
 #  define _RWSTD_TT_IS_BASE_OF(T,U)        __is_base_of(T,U)
 #  define _RWSTD_TT_IS_CLASS(T)            __is_class(T) 
+#  define _RWSTD_TT_IS_POD(T)              __is_pod(T)
 #  define _RWSTD_TT_IS_CONVERTIBLE(T,U)    __is_convertible_to(T,U) 
 #  define _RWSTD_TT_IS_EMPTY(T)            __is_empty(T) 
 #  define _RWSTD_TT_IS_ENUM(T)             __is_enum(T) 
@@ -110,15 +111,9 @@
 #  define _RWSTD_TT_IS_UNION(T)            __is_union(T) 
 
 #  define _RWSTD_TT_ALIGN_OF(T)            __alignof(T)
-#  define _RWSTD_TT_ALIGNED_POD(N)         struct { __declspec(align(N)) char __fill; }
-#  define _RWSTD_TT_MAX_ALIGNMENT          16
-//#  define _RWSTD_TT_MAX_ALIGNMENT          8192
-
-// __is_pod only seems to work for pod-class and pod-union types according
-// to the old definition of pod. it needs to exclude scalar types, as well
-// as types which are both trivial and standard layout. so, we work around
-// that by using our fallback.
-#  define _RWSTD_TT_IS_POD(T)              __is_pod(T)
+#  define _RWSTD_TT_ALIGNED_POD(N)         \
+      struct {__declspec(align(Align)) unsigned char _C_align; }
 
+#  define _RWSTD_TT_MAX_ALIGNMENT          8192
 #endif // _MSC_FULL_VER >= 140050215
 

Modified: stdcxx/trunk/include/rw/_config-sunpro.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config-sunpro.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config-sunpro.h (original)
+++ stdcxx/trunk/include/rw/_config-sunpro.h Fri Aug  1 13:51:17 2008
@@ -31,11 +31,6 @@
 
 // _REENTRANT defined by the -mt compiler option
 
-#if __SUNPRO_CC >= 0x530 && __SUNPRO_CC <= 0x540
-   // test fails due to a SunPro 5.3 bug (PR RW #26641/Sun #4526136)
-#  undef _RWSTD_NO_MEMBER_TEMPLATES
-#endif   // SunPro 5.3, 5.4
-
 #if __SUNPRO_CC <= 0x540
    // works around a partial specialization bug (PR #28119)
 #  ifndef _RWSTD_NO_EXT_CONST_ALLOCATOR

Modified: stdcxx/trunk/include/rw/_config.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_config.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_config.h (original)
+++ stdcxx/trunk/include/rw/_config.h Fri Aug  1 13:51:17 2008
@@ -495,9 +495,4 @@
 #  undef _RWSTD_NO_TEMPLATE_DEFINITIONS
 #endif
 
-#ifndef _RWSTD_EXT_CXX_0X
-   // disable C++0x extensions unless asked to enable them
-#  define _RWSTD_NO_EXT_CXX_0X
-#endif
-
 #endif   // _RWSTD_RW_CONFIG_H_INCLUDED

Modified: stdcxx/trunk/include/rw/_defs.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_defs.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_defs.h (original)
+++ stdcxx/trunk/include/rw/_defs.h Fri Aug  1 13:51:17 2008
@@ -494,20 +494,6 @@
 #endif // _RWSTD_NO_BOOL
 
 
-#ifndef _RWSTD_NO_TYPENAME
-#  define _TYPENAME   typename
-#else
-#  define _TYPENAME   /* empty */
-#endif
-
-
-#ifndef _RWSTD_NO_EXPLICIT
-#  define _EXPLICIT   explicit
-#else
-#  define _EXPLICIT   /* empty */
-#endif
-
-
 #ifndef _RWSTD_NO_EXPORT
 #  define _EXPORT   export
 #else
@@ -896,10 +882,10 @@
 #ifdef _RWSTD_ALLOCATOR
 #  ifndef _RWSTD_NO_DEPENDENT_TEMPLATE
 #    define _RWSTD_REBIND(from, to) \
-            _TYPENAME from::template rebind < to >::other
+            typename from::template rebind < to >::other
 #  else
 #    define _RWSTD_REBIND(from, to) \
-            _TYPENAME from:: rebind < to >::other
+            typename from:: rebind < to >::other
 #  endif   // _RWSTD_NO_DEPENDENT_TEMPLATE
 
 #  define _RWSTD_ALLOC_TYPE(Allocator, ignore)        \
@@ -1044,30 +1030,30 @@
 // _Iterator typedefs
 // (note that you must use a semi-colon at the end of this macro)
 #define _RWSTD_ITERATOR_TYPES(_Iterator)                               \
-     typedef _TYPENAME _Iterator::difference_type difference_type;     \
-     typedef _TYPENAME _Iterator::value_type value_type;               \
-     typedef _TYPENAME _Iterator::pointer pointer;                     \
-     typedef _TYPENAME _Iterator::reference reference;                 \
-     typedef _TYPENAME _Iterator::iterator_category iterator_category
+     typedef typename _Iterator::difference_type difference_type;     \
+     typedef typename _Iterator::value_type value_type;               \
+     typedef typename _Iterator::pointer pointer;                     \
+     typedef typename _Iterator::reference reference;                 \
+     typedef typename _Iterator::iterator_category iterator_category
 
 // helpers making working w/o iterator_traits transparent
 #ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC
 
 #  define _RWSTD_VALUE_TYPE(iterT) \
-       (_TYPENAME _STD::iterator_traits< iterT >::value_type*)0
+       (typename _STD::iterator_traits< iterT >::value_type*)0
 #  define _RWSTD_DIFFERENCE_TYPE(iterT)   \
-       (_TYPENAME _STD::iterator_traits< iterT >::difference_type*)0
+       (typename _STD::iterator_traits< iterT >::difference_type*)0
 
 #  if defined (SNI) || defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x530
      // hacking around the inability of Siemens CDS++ and SunPro 5.3
      // to use the ctor syntax for type-dependent nested type names
 #    define _RWSTD_ITERATOR_CATEGORY(iterT, ignore) \
-         (const _TYPENAME _STD::iterator_traits< iterT >::iterator_category&) \
+         (const typename _STD::iterator_traits< iterT >::iterator_category&) \
          (_STD::forward_iterator_tag ())
 
 #  else
 #    define _RWSTD_ITERATOR_CATEGORY(iterT, ignore) \
-         _TYPENAME _STD::iterator_traits< iterT >::iterator_category ()
+         typename _STD::iterator_traits< iterT >::iterator_category ()
 #  endif
 
 #  define _RWSTD_REVERSE_ITERATOR(iterT, ign1, ign2, ign3) \
@@ -1560,9 +1546,6 @@
 #    ifndef _RWSTD_NO_SPECIALIZED_FACET_ID
 #      define _RWSTD_NO_SPECIALIZED_FACET_ID
 #    endif   // _RWSTD_NO_SPECIALIZED_FACET_ID
-#  else
-     // FIXME: handle the case when explicit member specialization
-     // is not available (e.g., MSVC 6)
 #  endif   // _RWSTD_NO_EXPLICIT_MEMBER_SPECIALIZATION
 #else   // if !defined (_RWSTD_NO_EXTERN_TEMPLATE)
    // no need to explicitly specialize the members when extern
@@ -1576,33 +1559,21 @@
 
 // configuration for container class templates and their member
 // function templates
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-   // member function template definitions outside the body
-   // of the parent container class template are enabled
 #  define _RWSTD_ASSIGN_RANGE(first, last, tag)     \
           _C_assign_range (first, last, tag)
 #  define _RWSTD_INSERT_RANGE(it, first, last, tag) \
           _C_insert_range (it, first, last, tag)
-#else
-   // when member function template definitions outside the body
-   // of the parent container class template are disabled, they
-   // are emulated using namespace-scope function templates
-#  define _RWSTD_ASSIGN_RANGE(first, last, tag)       \
-          __rw_assign_range (this, first, last, tag)
-#  define _RWSTD_INSERT_RANGE(it, first, last, tag)   \
-          __rw_insert_range (this, it, first, last, tag)
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 
 
-#if defined (va_copy) || !defined _RWSTD_NO_VA_COPY
+#if 2 < __GNUG__
+   // use gcc builtin by default
+#  define _RWSTD_VA_COPY(va_dst, va_src) \
+          __builtin_va_copy (va_dst, va_src)
+#elif defined (va_copy) || !defined _RWSTD_NO_VA_COPY
    // either va_copy() is already #defined (because <stdarg.h>
    // is already #included), or it was detected at configuration
 #  define _RWSTD_VA_COPY(va_dst, va_src) \
           va_copy (va_dst, va_src)
-#elif 2 < __GNUG__
-   // no va_copy() macro detected, use gcc builtin
-#  define _RWSTD_VA_COPY(va_dst, va_src) \
-          __builtin_va_copy (va_dst, va_src)
 #elif defined (_RWSTD_NO_VA_LIST_ARRAY)
    // va_list is not an array, use ordinary assignment to copy
 #  define _RWSTD_VA_COPY(va_dst, va_src) \
@@ -1613,4 +1584,15 @@
           memcpy (va_dst, va_src, sizeof (va_list))
 #endif   // _RWSTD_NO_VA_LIST_ARRAY
 
+
+// disable aligned type traits if compiler support is not
+// configured
+#if    !defined (_RWSTD_TT_ALIGN_OF)    \
+    || !defined (_RWSTD_TT_ALIGNED_POD) \
+    || !defined (_RWSTD_TT_MAX_ALIGNMENT)
+#  ifndef _RWSTD_NO_ALIGN_TRAITS
+#    define _RWSTD_NO_ALIGN_TRAITS
+#  endif
+#endif
+
 #endif   // _RWSTD_RW_DEFS_H_INCLUDED

Modified: stdcxx/trunk/include/rw/_exception.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_exception.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_exception.h (original)
+++ stdcxx/trunk/include/rw/_exception.h Fri Aug  1 13:51:17 2008
@@ -69,9 +69,9 @@
 
     __rw_exception (const __rw_exception&);
 
-    _EXPLICIT __rw_exception (const _STD::string&);
+    explicit __rw_exception (const _STD::string&);
     
-    _EXPLICIT __rw_exception (const char*);
+    explicit __rw_exception (const char*);
 
     virtual ~__rw_exception () _THROWS (());
 

Modified: stdcxx/trunk/include/rw/_forward.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_forward.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_forward.h (original)
+++ stdcxx/trunk/include/rw/_forward.h Fri Aug  1 13:51:17 2008
@@ -3,7 +3,10 @@
  *
  * _forward - forward/move helpers for <utility> header
  *
- * $Id$
+ * This is an internal header file used to implement the C++ Standard
+ * Library. It should never be #included directly by a program.
+ *
+ * $Id: _forward.h 675429 2008-07-10 03:42:40Z sebor $
  *
  ***************************************************************************
  *
@@ -23,7 +26,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2008 Rogue Wave Software.
+ * Copyright 2008 Rogue Wave Software, Inc.
  * 
  **************************************************************************/
 
@@ -31,98 +34,56 @@
 #  define _RWSTD_RW_FORWARD_INCLUDED
 
 #  include <rw/_defs.h>
-
-#  if !defined _RWSTD_NO_EXT_CXX_0X
-
-#    include <rw/_meta_ref.h>   // for __rw_remove_reference
+#  include <rw/_meta_ref.h>     // for __rw_remove_reference
 
 
 _RWSTD_NAMESPACE (std) {
 
 
-// [20.2.2]  forward/move helpers
+// 20.2.2, forward/move helpers:
 
-/**
- * An identity wrapper.  Similar to the identity property, the identity
- * wrapper is a class template that simply reflects the type of its
- * template parameter.  This class template is used when a template
- * parameter type must be explicitly specified in order to apply the
- * correct move/forwarding semantics, usually in the \c std::forward()
- * function.
- *
- * @tparam _Type Any type.  No restrictions or requirements.
- * @see std::forward
- */
-template <class _Type>
+template <class _TypeT>
 struct identity
 {
-    /** Identifies template parameter type. */
-    typedef _Type type;
+    typedef _TypeT  type;
 
-    /**
-     * Conversion operator.  This operator converts the parameter value
-     * to the wrapped identity type.
-     *
-     * @param __x An value convertible to identity type.
-     * @return Same value as the function argument with identity type.
-     */
-    const _Type& operator() (const _Type& __x) const {
+    const type& operator() (const type& __x) const {
         return __x;
     }
 };
 
+#  define _RWSTD_IDENTITY(_TypeT)         _STD::identity<_TypeT>::type
+
 
-#    if !defined _RWSTD_NO_RVALUE_REFERENCES
+#  if !defined _RWSTD_NO_RVALUE_REFERENCES
 
-/**
- * Forwards appropriate rvalue or lvalue reference type.  This function
- * is used to ensure that the appropriate reference type is used in move
- * semantics.
- *
- * @tparam _Type An lvalue or rvalue reference type.
- * @param __x An lvalue reference or rvalue reference.
- * @return An lvalue if __x is an lvalue reference; otherwise, an rvalue.
- */
-_EXPORT
-template <class _Type>
-_Type&&
-forward (_TYPENAME identity<_Type>::type&& __x)
+template <class _TypeT>
+inline _TypeT&&
+forward (typename identity<_TypeT>::type&& __x)
 {
     return __x;
 }
 
-/**
- * Move a value to an rvalue reference.  This function is used to
- * explicitly bind constructors and other functions with rvalue
- * references that employ move semantics.
- *
- * @tparam _Type Any type.  No requirements or restrictions.
- * @param __x An lvalue or rvalue.
- * @return Same value as parameter with rvalue reference type.
- */
-_EXPORT
-template <class _Type>
-_TYPENAME _RW::__rw_remove_reference<_Type>::type&&
-move (_Type&& __x)
+
+template <class _TypeT>
+inline typename _RWSTD_REMOVE_REFERENCE(_TypeT)&&
+move (_TypeT&& __x)
 {
     return __x;
 }
 
-/**
- * @internal
- * Internal wrapper macro to utilize move semantics if available.
- * @param __x An lvalue or rvalue.
- */
-#      define _RWSTD_MOVE(__x)   std::move (__x)
-#    else   // no rvalue references
-#      define _RWSTD_MOVE(__x)   (__x)
+#    define _RWSTD_FORWARD(_TypeT, __x)   _STD::forward<_TypeT> (__x)
+#    define _RWSTD_MOVE(__x)              _STD::move (__x)
 
-#    endif   // !defined _RWSTD_NO_RVALUE_REFERENCES
+#  else   // no rvalue references
 
+#    define _RWSTD_FORWARD(_TypeT, __x)   (__x)
+#    define _RWSTD_MOVE(__x)              (__x)
 
-}   // namespace std
+#  endif   // !defined _RWSTD_NO_RVALUE_REFERENCES
 
 
-#  endif   // !defined _RWSTD_NO_EXT_CXX_0X
+}   // namespace std
+
 
 #endif   // _RWSTD_RW_FORWARD_INCLUDED

Modified: stdcxx/trunk/include/rw/_funcbase.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_funcbase.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_funcbase.h (original)
+++ stdcxx/trunk/include/rw/_funcbase.h Fri Aug  1 13:51:17 2008
@@ -61,8 +61,8 @@
 
 
 #define _RWSTD_UNARY_FUNCTION_TYPES(T, U)                                    \
-  typedef _TYPENAME _STD::unary_function<T, U>::argument_type argument_type; \
-  typedef _TYPENAME _STD::unary_function<T, U>::result_type   result_type
+  typedef typename _STD::unary_function<T, U>::argument_type argument_type; \
+  typedef typename _STD::unary_function<T, U>::result_type   result_type
 
 
 template <class _Arg1, class _Arg2, class _Result>
@@ -75,11 +75,11 @@
 
 
 #define _RWSTD_BINARY_FUNCTION_TYPES(T, U, V)                              \
-  typedef _TYPENAME _STD::binary_function<T, U, V>::second_argument_type   \
+  typedef typename _STD::binary_function<T, U, V>::second_argument_type   \
           second_argument_type;                                            \
-  typedef _TYPENAME _STD::binary_function<T, U, V>::first_argument_type    \
+  typedef typename _STD::binary_function<T, U, V>::first_argument_type    \
           first_argument_type;                                             \
-  typedef _TYPENAME _STD::binary_function<T, U, V>::result_type            \
+  typedef typename _STD::binary_function<T, U, V>::result_type            \
           result_type
 
 

Modified: stdcxx/trunk/include/rw/_ioinsert.cc
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_ioinsert.cc?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_ioinsert.cc (original)
+++ stdcxx/trunk/include/rw/_ioinsert.cc Fri Aug  1 13:51:17 2008
@@ -39,7 +39,7 @@
 __rw_insert (_STD::basic_ostream<_CharT, _Traits> &__strm,
              _NativeType                           __val)
 {
-    const _TYPENAME _STD::basic_ostream<_CharT, _Traits>::sentry
+    const typename _STD::basic_ostream<_CharT, _Traits>::sentry
         __opfx (__strm);
 
     _TRY {
@@ -75,7 +75,7 @@
     _RWSTD_ASSERT (!__len || __len > 0 && 0 != __s);
 
     if (1 == __len) {
-        typedef _TYPENAME _Traits::int_type _IntT;
+        typedef typename _Traits::int_type _IntT;
 
         const _IntT __ic = __strm.rdbuf ()->sputc (*__s);
 
@@ -100,7 +100,7 @@
 
     for (_RWSTD_STREAMSIZE __i = 0; __i < __len; ++__i) {
 
-        typedef _TYPENAME _Traits::int_type _IntT;
+        typedef typename _Traits::int_type _IntT;
 
         const _IntT __ic = __strm.rdbuf ()->sputc (__ctp.widen (__s [__i]));
 
@@ -133,7 +133,7 @@
 
     _TRY {
   
-        const _TYPENAME _STD::basic_ostream<_CharT, _Traits>::sentry
+        const typename _STD::basic_ostream<_CharT, _Traits>::sentry
             __opfx (__strm);
 
         if (__opfx) {
@@ -142,8 +142,8 @@
             // according to the rules described in 22.2.2.2.2, p19
             const _RWSTD_STREAMSIZE __pad = __width - __len;
 
-            typedef _TYPENAME
-                __rw_is_same<_CharT, _StringT>::_C_type _Same;
+            typedef typename
+                __rw_same_type<_CharT, _StringT>::_C_type _Same;
 
             if (__pad > 0) {
                 const int __padbits =

Modified: stdcxx/trunk/include/rw/_ioiter.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_ioiter.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_ioiter.h (original)
+++ stdcxx/trunk/include/rw/_ioiter.h Fri Aug  1 13:51:17 2008
@@ -59,11 +59,11 @@
 template <class _CharT, class _Traits>
 struct istreambuf_iterator
     : iterator<input_iterator_tag, _CharT, 
-               _TYPENAME _Traits::off_type, _CharT*, _CharT&>
+               typename _Traits::off_type, _CharT*, _CharT&>
 {
     typedef _CharT                                  char_type;
     typedef _Traits                                 traits_type;
-    typedef _TYPENAME traits_type::int_type         int_type;
+    typedef typename traits_type::int_type         int_type;
     typedef basic_streambuf<char_type, traits_type> streambuf_type;
     typedef basic_istream<char_type, traits_type>   istream_type;
 
@@ -135,7 +135,7 @@
 
 
 template <class _CharT, class _Traits>
-inline _TYPENAME istreambuf_iterator<_CharT, _Traits>::char_type
+inline typename istreambuf_iterator<_CharT, _Traits>::char_type
 istreambuf_iterator<_CharT, _Traits>::
 operator*() const
 {
@@ -161,7 +161,7 @@
 
 
 template <class _CharT, class _Traits>
-inline _TYPENAME istreambuf_iterator<_CharT, _Traits>::_C_proxy 
+inline typename istreambuf_iterator<_CharT, _Traits>::_C_proxy 
 istreambuf_iterator<_CharT, _Traits>::
 operator++(int)
 {

Modified: stdcxx/trunk/include/rw/_iosfailure.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_iosfailure.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_iosfailure.h (original)
+++ stdcxx/trunk/include/rw/_iosfailure.h Fri Aug  1 13:51:17 2008
@@ -45,11 +45,11 @@
 
 struct _RWSTD_EXPORT __rw_failure: __rw_exception
 {
-    _EXPLICIT __rw_failure (const _STD::string &__what)
+    explicit __rw_failure (const _STD::string &__what)
         : __rw_exception (__what) { }
 
     // extension
-    _EXPLICIT __rw_failure (const char *__what = 0)
+    explicit __rw_failure (const char *__what = 0)
         : __rw_exception (__what) { }
 
     virtual ~__rw_failure () _THROWS (());

Modified: stdcxx/trunk/include/rw/_iterator.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_iterator.h?rev=681820&r1=681819&r2=681820&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_iterator.h (original)
+++ stdcxx/trunk/include/rw/_iterator.h Fri Aug  1 13:51:17 2008
@@ -62,7 +62,7 @@
 #  define _RWSTD_ITER_TEMPLATE template <class _Iterator>
 #  define _RWSTD_ITER_ID(i)    i <_Iterator>
 #  define _RWSTD_ITER_DIFF_TYPE(i, ignore)                             \
-          _TYPENAME iterator_traits<_Iterator>::difference_type
+          typename iterator_traits<_Iterator>::difference_type
 #else
 #  define _RWSTD_ITER_TEMPLATE                                         \
           template <class _Iterator, class _Category, class _TypeT,    \
@@ -77,18 +77,18 @@
 
 template <class _Iterator>
 class reverse_iterator
-    : public iterator<_TYPENAME iterator_traits<_Iterator>::iterator_category, 
-                      _TYPENAME iterator_traits<_Iterator>::value_type, 
-                      _TYPENAME iterator_traits<_Iterator>::difference_type,
-                      _TYPENAME iterator_traits<_Iterator>::pointer, 
-                      _TYPENAME iterator_traits<_Iterator>::reference>
+    : public iterator<typename iterator_traits<_Iterator>::iterator_category, 
+                      typename iterator_traits<_Iterator>::value_type, 
+                      typename iterator_traits<_Iterator>::difference_type,
+                      typename iterator_traits<_Iterator>::pointer, 
+                      typename iterator_traits<_Iterator>::reference>
 {
     typedef iterator_traits<_Iterator>             traits_type;
 public:
-    typedef _TYPENAME traits_type::difference_type difference_type;
-    typedef _TYPENAME traits_type::value_type      value_type;
-    typedef _TYPENAME traits_type::pointer         pointer;
-    typedef _TYPENAME traits_type::reference       reference;
+    typedef typename traits_type::difference_type difference_type;
+    typedef typename traits_type::value_type      value_type;
+    typedef typename traits_type::pointer         pointer;
+    typedef typename traits_type::reference       reference;
 
 #else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
 
@@ -113,18 +113,17 @@
     reverse_iterator () { }
 
     // 24.4.1.3.1, p1
-    _EXPLICIT reverse_iterator (iterator_type __rhs) : current (__rhs) { }
+    explicit reverse_iterator (iterator_type __rhs) : current (__rhs) { }
  
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
+#ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
     // 24.4.1.3.1, p2
     template <class _TypeU>
     reverse_iterator (const reverse_iterator<_TypeU>& __rhs)
         : current (__rhs.base ()) { }
 
-#  else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
+#else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
 
     // 24.4.1.3.1, p2
     template <class _Iterator2, class _Category2, class _TypeU,
@@ -133,8 +132,7 @@
                       _Reference2, _Pointer2, _Distance2>& __rhs)
         : current (__rhs.base ()) { }
 
-#  endif   // _RWSTD_NO_CLASS_PARTIAL_SPEC 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
 
     // 24.4.1.3.2, p1
@@ -306,18 +304,17 @@
 
     __reverse_bi_iterator () { }
 
-    _EXPLICIT __reverse_bi_iterator (const iterator_type &__rhs) 
+    explicit __reverse_bi_iterator (const iterator_type &__rhs) 
         : current (__rhs) { }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
+#ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
       template <class _TypeU>
       __reverse_bi_iterator (const __reverse_bi_iterator<_TypeU>& __rhs)
           : current (__rhs.base ()) { }
 
-#  else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC )
+#else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC )
 
       template <class _Iterator2, class _Category2, class _TypeU,
                 class _Reference2, class _Pointer2, class _Distance2>
@@ -328,8 +325,7 @@
                                                          _Pointer2,
                                                          _Distance2>& __rhs)
           : current (__rhs.base ()) { }
-#  endif
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
+#endif
 
 
     iterator_type base () const {
@@ -401,10 +397,10 @@
    // necessary to allow __iterator_category, __value_type, etc. to work
 #  define _RWSTD_INSERT_ITERATOR_BASE(cont)         \
           iterator<output_iterator_tag,             \
-                   _TYPENAME cont::value_type,      \
-                   _TYPENAME cont::difference_type, \
-                   _TYPENAME cont::pointer,         \
-                   _TYPENAME cont::reference>
+                   typename cont::value_type,      \
+                   typename cont::difference_type, \
+                   typename cont::pointer,         \
+                   typename cont::reference>
 #endif   // _RWSTD_NO_CLASS_PARTIAL_SPEC
 
 
@@ -414,11 +410,11 @@
 public:
     typedef _Container container_type;
 
-    _EXPLICIT back_insert_iterator (container_type& __rhs)
+    explicit back_insert_iterator (container_type& __rhs)
         : container (&__rhs) { }
 
     back_insert_iterator&
-    operator= (_TYPENAME container_type::const_reference __x) {
+    operator= (typename container_type::const_reference __x) {
         return container->push_back (__x), *this;
     }
 
@@ -453,11 +449,11 @@
 public:
     typedef _Container container_type;
 
-    _EXPLICIT front_insert_iterator (container_type& __rhs)
+    explicit front_insert_iterator (container_type& __rhs)
         : container (&__rhs) { }
 
     front_insert_iterator&
-    operator= (_TYPENAME container_type::const_reference __x) { 
+    operator= (typename container_type::const_reference __x) { 
         return container->push_front (__x), *this;
     }
 
@@ -493,11 +489,11 @@
     typedef _Container container_type;
 
     insert_iterator (container_type                    &__x,
-                     _TYPENAME container_type::iterator __it)
+                     typename container_type::iterator __it)
       : iter (__it), container (&__x) { }
 
     insert_iterator&
-    operator= (_TYPENAME container_type::const_reference __x) { 
+    operator= (typename container_type::const_reference __x) { 
         iter = container->insert (iter, __x);
         return ++iter, *this;
     }
@@ -516,7 +512,7 @@
 
 protected:
 
-    _TYPENAME container_type::iterator iter;
+    typename container_type::iterator iter;
     container_type*                    container;
 };
 
@@ -524,7 +520,7 @@
 template <class _Container, class _Iterator>
 inline insert_iterator<_Container> inserter (_Container& __x, _Iterator __it)
 {
-    typedef _TYPENAME _Container::iterator _Iter;
+    typedef typename _Container::iterator _Iter;
 
     return insert_iterator<_Container> (__x, _Iter (__it));
 }



Mime
View raw message