Index: assert.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/assert.h,v retrieving revision 1.1 retrieving revision 1.3 diff -c -3 -p -r1.1 -r1.3 *** assert.h 10 Jun 2003 16:12:29 -0000 1.1 --- assert.h 27 Jan 2006 14:16:50 -0000 1.3 *************** _CRTIMP void __cdecl _assert(const char *** 53,58 **** } #endif ! #define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) ) #endif /* NDEBUG */ --- 53,58 ---- } #endif ! #define assert(exp) ((void)0) #endif /* NDEBUG */ Index: functional =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/functional,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** functional 10 Jun 2003 16:12:29 -0000 1.1 --- functional 21 Oct 2007 19:58:10 -0000 1.2 *************** public: *** 353,359 **** } protected: ! _Result (__cdecl *_Pfun)(_Arg); // the function pointer }; // TEMPLATE CLASS pointer_to_binary_function --- 353,360 ---- } protected: ! typedef _Result (__cdecl *_PfunType)(_Arg); ! _PfunType _Pfun; // the function pointer }; // TEMPLATE CLASS pointer_to_binary_function *************** public: *** 376,382 **** } protected: ! _Result (__cdecl *_Pfun)(_Arg1, _Arg2); // the function pointer }; // TEMPLATE FUNCTION ptr_fun --- 377,384 ---- } protected: ! typedef _Result (__cdecl *_PfunType)(_Arg1, _Arg2); ! _PfunType _Pfun; // the function pointer }; // TEMPLATE FUNCTION ptr_fun Index: limits =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/limits,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** limits 10 Jun 2003 16:12:29 -0000 1.1 --- limits 21 Oct 2007 19:58:10 -0000 1.2 *************** struct _CRTIMP2 _Num_base *** 66,83 **** _STCONS(int, radix, 0); }; // TEMPLATE CLASS numeric_limits template class numeric_limits : public _Num_base { // numeric limits for arbitrary type _Ty (say little or nothing) public: ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (_Ty(0)); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (_Ty(0)); } --- 66,84 ---- _STCONS(int, radix, 0); }; + #define __GCCXML_AVOID_MACRO_EXPANSION // TEMPLATE CLASS numeric_limits template class numeric_limits : public _Num_base { // numeric limits for arbitrary type _Ty (say little or nothing) public: ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (_Ty(0)); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (_Ty(0)); } *************** template<> class _CRTIMP2 numeric_limits *** 154,165 **** public: typedef char _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (CHAR_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (CHAR_MAX); } --- 155,166 ---- public: typedef char _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (CHAR_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (CHAR_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 208,219 **** public: typedef wchar_t _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return ((_Ty)WCHAR_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return ((_Ty)WCHAR_MAX); } --- 209,220 ---- public: typedef wchar_t _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return ((_Ty)WCHAR_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return ((_Ty)WCHAR_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 263,274 **** public: typedef bool _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (false); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (true); } --- 264,275 ---- public: typedef bool _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (false); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (true); } *************** template<> class _CRTIMP2 numeric_limits *** 316,327 **** public: typedef signed char _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (SCHAR_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (SCHAR_MAX); } --- 317,328 ---- public: typedef signed char _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (SCHAR_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (SCHAR_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 368,379 **** public: typedef unsigned char _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (0); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (UCHAR_MAX); } --- 369,380 ---- public: typedef unsigned char _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (0); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (UCHAR_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 420,431 **** public: typedef short _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (SHRT_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (SHRT_MAX); } --- 421,432 ---- public: typedef short _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (SHRT_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (SHRT_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 473,484 **** public: typedef unsigned short _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (0); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (USHRT_MAX); } --- 474,485 ---- public: typedef unsigned short _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (0); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (USHRT_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 526,537 **** public: typedef int _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (INT_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (INT_MAX); } --- 527,538 ---- public: typedef int _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (INT_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (INT_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 579,590 **** public: typedef unsigned int _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (0); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (UINT_MAX); } --- 580,591 ---- public: typedef unsigned int _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (0); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (UINT_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 632,643 **** public: typedef long _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (LONG_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (LONG_MAX); } --- 633,644 ---- public: typedef long _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (LONG_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (LONG_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 685,696 **** public: typedef unsigned long _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (0); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (ULONG_MAX); } --- 686,697 ---- public: typedef unsigned long _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (0); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (ULONG_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 739,750 **** public: typedef _LONGLONG _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (-_LLONG_MAX - _C2); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (_LLONG_MAX); } --- 740,751 ---- public: typedef _LONGLONG _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (-_LLONG_MAX - _C2); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (_LLONG_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 792,803 **** public: typedef _ULONGLONG _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (0); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (_ULLONG_MAX); } --- 793,804 ---- public: typedef _ULONGLONG _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (0); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (_ULLONG_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 846,857 **** public: typedef float _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (FLT_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (FLT_MAX); } --- 847,858 ---- public: typedef float _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (FLT_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (FLT_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 901,912 **** public: typedef double _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (DBL_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (DBL_MAX); } --- 902,913 ---- public: typedef double _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (DBL_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (DBL_MAX); } *************** template<> class _CRTIMP2 numeric_limits *** 956,967 **** public: typedef long double _Ty; ! static _Ty (__cdecl min)() _THROW0() { // return minimum value return (LDBL_MIN); } ! static _Ty (__cdecl max)() _THROW0() { // return maximum value return (LDBL_MAX); } --- 957,968 ---- public: typedef long double _Ty; ! static _Ty __cdecl min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (LDBL_MIN); } ! static _Ty __cdecl max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (LDBL_MAX); } Index: limits.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/limits.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** limits.h 10 Jun 2003 16:12:29 -0000 1.1 --- limits.h 18 Mar 2005 22:16:06 -0000 1.2 *************** *** 50,58 **** /* Make sure these macros don't show up in ANSI C++ code */ #if !defined(__cplusplus) || defined(_MSC_EXTENSIONS) ! #define LLONG_MAX 0x7fffffffffffffff /*maximum signed __int64 value */ ! #define LLONG_MIN 0x8000000000000000 /*minimum signed __int64 value */ ! #define ULLONG_MAX 0xffffffffffffffff /*maximum unsigned __int64 value */ #endif #if _INTEGRAL_MAX_BITS >= 8 --- 50,58 ---- /* Make sure these macros don't show up in ANSI C++ code */ #if !defined(__cplusplus) || defined(_MSC_EXTENSIONS) ! #define LLONG_MAX 0x7fffffffffffffffi64 /*maximum signed __int64 value */ ! #define LLONG_MIN 0x8000000000000000i64 /*minimum signed __int64 value */ ! #define ULLONG_MAX 0xffffffffffffffffui64 /*maximum unsigned __int64 value */ #endif #if _INTEGRAL_MAX_BITS >= 8 Index: process.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/process.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** process.h 10 Jun 2003 16:12:29 -0000 1.1 --- process.h 1 Feb 2005 20:40:08 -0000 1.2 *************** _CRTIMP int __cdecl _wsystem(const wchar *** 177,183 **** */ intptr_t __cdecl _loaddll(char *); int __cdecl _unloaddll(intptr_t); ! int (__cdecl * __cdecl _getdllprocaddr(intptr_t, char *, intptr_t))(); /* --------- The preceding functions are OBSOLETE --------- */ --- 177,184 ---- */ intptr_t __cdecl _loaddll(char *); int __cdecl _unloaddll(intptr_t); ! typedef int (__cdecl * _getdllprocaddr_type)(); ! _getdllprocaddr_type __cdecl _getdllprocaddr(intptr_t, char *, intptr_t); /* --------- The preceding functions are OBSOLETE --------- */ Index: signal.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/signal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** signal.h 10 Jun 2003 16:12:29 -0000 1.1 --- signal.h 17 May 2004 17:34:46 -0000 1.2 *************** extern void * _pxcptinfoptrs; *** 89,95 **** /* Function prototypes */ ! _CRTIMP void (__cdecl * __cdecl signal(int, void (__cdecl *)(int)))(int); _CRTIMP int __cdecl raise(int); --- 89,96 ---- /* Function prototypes */ ! typedef void (__cdecl * __signal_handler_t)(int); ! _CRTIMP __signal_handler_t __cdecl signal(int, __signal_handler_t); _CRTIMP int __cdecl raise(int); Index: stddef.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/stddef.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** stddef.h 10 Jun 2003 16:12:29 -0000 1.1 --- stddef.h 9 Jan 2009 13:47:14 -0000 1.2 *************** typedef unsigned short wchar_t; *** 122,132 **** --- 122,135 ---- /* Define offsetof macro */ + #define offsetof(s,m) ((size_t)__builtin_offsetof(s,m)) + #if 0 /* replaced for gccxml */ #ifdef _WIN64 #define offsetof(s,m) (size_t)( (ptrdiff_t)&(((s *)0)->m) ) #else #define offsetof(s,m) (size_t)&(((s *)0)->m) #endif + #endif /* 0 */ #ifdef _MT Index: typeinfo.h =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/typeinfo.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** typeinfo.h 10 Jun 2003 16:12:29 -0000 1.1 --- typeinfo.h 17 May 2004 14:29:56 -0000 1.2 *************** *** 37,42 **** --- 37,43 ---- #endif /* _DLL */ #endif /* _CRTIMP */ + namespace std { class type_info { public: _CRTIMP virtual ~type_info(); *************** private: *** 51,57 **** type_info(const type_info& rhs); type_info& operator=(const type_info& rhs); }; ! // This include must occur below the definition of class type_info #include --- 52,59 ---- type_info(const type_info& rhs); type_info& operator=(const type_info& rhs); }; ! } ! using std::type_info; // This include must occur below the definition of class type_info #include Index: valarray =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/valarray,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** valarray 10 Jun 2003 16:12:29 -0000 1.1 --- valarray 21 Oct 2007 19:58:10 -0000 1.2 *************** *** 5,10 **** --- 5,12 ---- #include #include + #define __GCCXML_AVOID_MACRO_EXPANSION + #pragma pack(push,8) #pragma warning(push,3) *************** public: *** 311,317 **** return (_Sum); } ! _Ty min() const { // return smallest of all elements _Ty _Min = _Myptr[0]; for (size_t _Idx = 0; ++_Idx < size(); ) --- 313,319 ---- return (_Sum); } ! _Ty min __GCCXML_AVOID_MACRO_EXPANSION() const { // return smallest of all elements _Ty _Min = _Myptr[0]; for (size_t _Idx = 0; ++_Idx < size(); ) *************** public: *** 320,326 **** return (_Min); } ! _Ty max() const { // return largest of all elements _Ty _Max = _Myptr[0]; for (size_t _Idx = 0; ++_Idx < size(); ) --- 322,328 ---- return (_Min); } ! _Ty max __GCCXML_AVOID_MACRO_EXPANSION() const { // return largest of all elements _Ty _Max = _Myptr[0]; for (size_t _Idx = 0; ++_Idx < size(); ) Index: vector =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/vector,v retrieving revision 1.2 retrieving revision 1.3 diff -c -3 -p -r1.2 -r1.3 *** vector 22 Oct 2007 20:15:48 -0000 1.2 --- vector 22 Oct 2007 20:17:45 -0000 1.3 *************** public: *** 1051,1056 **** --- 1051,1058 ---- : public _Vb_iter_base { // iterator for nonmutable vector public: + using _Vb_iter_base::_Myoff; + using _Vb_iter_base::_Myptr; typedef random_access_iterator_tag iterator_category; typedef _Bool value_type; typedef _Dift difference_type; Index: xdebug =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/xdebug,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xdebug 10 Jun 2003 16:12:29 -0000 1.1 --- xdebug 21 Oct 2007 19:58:10 -0000 1.2 *************** template *** 57,63 **** --- 57,65 ---- { // delete from the debug CRT heap even if operator delete exists if (_Ptr != 0) { // worth deleting + #if 0 _Ptr->~_Ty(); + #endif // delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have // facets allocated by normal new. free(_Ptr); *************** public: *** 74,93 **** template struct rebind { // convert _DebugHeapAllocator<_Ty> to _DebugHeapAllocator<_Other> ! typedef typename _DebugHeapAllocator<_Other> other; }; ! allocator<_Ty>::pointer allocate(allocator<_Ty>::size_type _Count, const void *) { // allocate array of _Count elements, ignore hint return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]); } ! allocator<_Ty>::pointer allocate(allocator<_Ty>::size_type _Count) { // allocate array of _Count elements return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]); } ! void deallocate(allocator<_Ty>::pointer _Ptr, allocator<_Ty>::size_type) { // deallocate object at _Ptr, ignore size _DELETE_CRT_VEC(_Ptr); } --- 76,95 ---- template struct rebind { // convert _DebugHeapAllocator<_Ty> to _DebugHeapAllocator<_Other> ! typedef _DebugHeapAllocator<_Other> other; }; ! typename allocator<_Ty>::pointer allocate(typename allocator<_Ty>::size_type _Count, const void *) { // allocate array of _Count elements, ignore hint return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]); } ! typename allocator<_Ty>::pointer allocate(typename allocator<_Ty>::size_type _Count) { // allocate array of _Count elements return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]); } ! void deallocate(typename allocator<_Ty>::pointer _Ptr, typename allocator<_Ty>::size_type) { // deallocate object at _Ptr, ignore size _DELETE_CRT_VEC(_Ptr); } Index: xlocale =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/xlocale,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xlocale 10 Jun 2003 16:12:29 -0000 1.1 --- xlocale 10 Jun 2003 17:36:05 -0000 1.2 *************** *** 13,18 **** --- 13,21 ---- #pragma warning(push,3) _STD_BEGIN + class _CRTIMP2 locale; + template class collate; + template const _Facet& __cdecl use_facet(const locale& _Loc); // TEMPLATE CLASS _Locbase template Index: xstddef =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/xstddef,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xstddef 10 Jun 2003 16:12:29 -0000 1.1 --- xstddef 10 Jun 2003 17:36:05 -0000 1.2 *************** _STD_BEGIN *** 24,30 **** #define _RERAISE throw #define _THROW0() throw () ! #define _THROW1(x) throw (...) #define _THROW(x, y) throw x(y) #else /* _HAS_EXCEPTIONS */ --- 24,30 ---- #define _RERAISE throw #define _THROW0() throw () ! #define _THROW1(x) throw (x) #define _THROW(x, y) throw x(y) #else /* _HAS_EXCEPTIONS */ Index: xstring =================================================================== RCS file: /cvsroot/GxInclude/Vc71/Include/xstring,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xstring 10 Jun 2003 16:12:29 -0000 1.1 --- xstring 21 Oct 2007 19:58:10 -0000 1.2 *************** template const typename basic_string<_Elem, _Traits, _Alloc>::size_type basic_string<_Elem, _Traits, _Alloc>::npos = ! (basic_string<_Elem, _Traits, _Alloc>::size_type)(-1); template const typename basic_string<_Elem, _Traits, _Alloc>::size_type basic_string<_Elem, _Traits, _Alloc>::npos = ! (typename basic_string<_Elem, _Traits, _Alloc>::size_type)(-1); template