diff -r 2fe1408b6811 -r e1b950c65cb4 epoc32/include/tools/stlport/stl/_string_operators.h --- a/epoc32/include/tools/stlport/stl/_string_operators.h Tue Mar 16 16:12:26 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,602 +0,0 @@ -/* - * Copyright (c) 2003 - * Francois Dumont - * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use or copy this software for any purpose is hereby granted - * without fee, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - * - */ - -#ifndef _STLP_STRING_OPERATORS_H -#define _STLP_STRING_OPERATORS_H - -_STLP_BEGIN_NAMESPACE - -#if !defined (_STLP_USE_TEMPLATE_EXPRESSION) - -# if defined (__GNUC__) || defined (__MLCCPP__) -# define _STLP_INIT_AMBIGUITY 1 -# endif - -template -inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; -# if defined (_STLP_INIT_AMBIGUITY) - // gcc counts this as a function - _Str __result = _Str(_Reserve_t(), __s.size() + __y.size(), __s.get_allocator()); -# else - _Str __result(_Reserve_t(), __s.size() + __y.size(), __s.get_allocator()); -# endif - __result.append(__s); - __result.append(__y); - return __result; -} - -template -inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL -operator+(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; - const size_t __n = _Traits::length(__s); -# if defined (_STLP_INIT_AMBIGUITY) - _Str __result = _Str(_Reserve_t(), __n + __y.size(), __y.get_allocator()); -# else - _Str __result(_Reserve_t(), __n + __y.size(), __y.get_allocator()); -# endif - __result.append(__s, __s + __n); - __result.append(__y); - return __result; -} - -template -inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL -operator+(_CharT __c, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; -# if defined (_STLP_INIT_AMBIGUITY) - _Str __result = _Str(_Reserve_t(), 1 + __y.size(), __y.get_allocator()); -# else - _Str __result(_Reserve_t(), 1 + __y.size(), __y.get_allocator()); -# endif - __result.push_back(__c); - __result.append(__y); - return __result; -} - -template -inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; - const size_t __n = _Traits::length(__s); -# if defined (_STLP_INIT_AMBIGUITY) - _Str __result = _Str(_Reserve_t(), __x.size() + __n, __x.get_allocator()); -# else - _Str __result(_Reserve_t(), __x.size() + __n, __x.get_allocator()); -# endif - __result.append(__x); - __result.append(__s, __s + __n); - return __result; -} - -template -inline basic_string<_CharT,_Traits,_Alloc> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT __c) { - typedef basic_string<_CharT,_Traits,_Alloc> _Str; - typedef typename _Str::_Reserve_t _Reserve_t; -# if defined (_STLP_INIT_AMBIGUITY) - _Str __result = _Str(_Reserve_t(), __x.size() + 1, __x.get_allocator()); -# else - _Str __result(_Reserve_t(), __x.size() + 1, __x.get_allocator()); -# endif - __result.append(__x); - __result.push_back(__c); - return __result; -} - -# undef _STLP_INIT_AMBIGUITY - -#else /* _STLP_USE_TEMPLATE_EXPRESSION */ - -// addition with basic_string -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs) { - typedef _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right> __root_type; - __root_type __root(__rhs, _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>(__lhs.get_allocator())); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - __root_type, - _STLP_PRIV __on_right>(__lhs, __root); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __lhs, - const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __rhs) { - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right>(__lhs, __rhs); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __on_left> _STLP_CALL -operator+(const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __lhs, - const basic_string<_CharT,_Traits,_Alloc>& __rhs) { - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __on_left>(__lhs, __rhs); -} - -// addition with C string -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - const size_t __n = _Traits::length(__s); - typedef _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right> __root_type; - __root_type __root(_STLP_PRIV __cstr_wrapper<_CharT>(__s, __n), _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>(__x.get_allocator())); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - __root_type, _STLP_PRIV __on_right>(__x, __root); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - const size_t __n = _Traits::length(__s); - typedef _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right> __root_type; - __root_type __root(__y, _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>(__y.get_allocator())); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __cstr_wrapper<_CharT>, - __root_type, - _STLP_PRIV __on_right>(_STLP_PRIV __cstr_wrapper<_CharT>(__s, __n), __root); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __on_left> _STLP_CALL -operator+(const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __x, - const _CharT* __s) { - const size_t __n = _Traits::length(__s); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __on_left>(__x, _STLP_PRIV __cstr_wrapper<_CharT>(__s, __n)); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __y) { - const size_t __n = _Traits::length(__s); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __cstr_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right>(_STLP_PRIV __cstr_wrapper<_CharT>(__s, __n), __y); -} - -// addition with char -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const basic_string<_CharT,_Traits,_Alloc>& __x, const _CharT __c) { - typedef _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right> __root_type; - __root_type __root(__c, _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>(__x.get_allocator())); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - __root_type, _STLP_PRIV __on_right>(__x, __root); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const _CharT __c, const basic_string<_CharT,_Traits,_Alloc>& __x) { - typedef _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_wrapper<_CharT,_Traits,_Alloc>, - _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>, - _STLP_PRIV __on_right> __root_type; - __root_type __root(__x, _STLP_PRIV __sum_storage_elem<_CharT, _Traits, _Alloc>(__x.get_allocator())); - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __char_wrapper<_CharT>, - __root_type, _STLP_PRIV __on_right>(__c, __root); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __on_left> _STLP_CALL -operator+(const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __x, const _CharT __c) { - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __char_wrapper<_CharT>, _STLP_PRIV __on_left>(__x, __c); -} - -template -inline _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right> _STLP_CALL -operator+(const _CharT __c, const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __x) { - return _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _STLP_PRIV __char_wrapper<_CharT>, - _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>, - _STLP_PRIV __on_right>(__c, __x); -} - -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -// Operator== and operator!= - -template -inline bool _STLP_CALL -operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return __x.size() == __y.size() && _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator==(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return __x.size() == __y.size() && _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; -} - -template -inline bool _STLP_CALL -operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - return __x.size() == __y.size() && _Traits::compare(__x.data(), __y.data(), __x.size()) == 0; -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - - -template -inline bool _STLP_CALL -operator==(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __n == __y.size() && _Traits::compare(__s, __y.data(), __n) == 0; -} - -template -inline bool _STLP_CALL -operator==(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __x.size() == __n && _Traits::compare(__x.data(), __s, __n) == 0; -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator==(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __n == __y.size() && _Traits::compare(__s, __y.data(), __n) == 0; -} - -template -inline bool _STLP_CALL -operator==(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return __x.size() == __n && _Traits::compare(__x.data(), __s, __n) == 0; -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -// Operator< (and also >, <=, and >=). - -template -inline bool _STLP_CALL -operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()) < 0; -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator<(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()) < 0; -} - -template -inline bool _STLP_CALL -operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()) < 0; -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -template -inline bool _STLP_CALL -operator<(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__s, __s + __n, - __y.begin(), __y.end()) < 0; -} - -template -inline bool _STLP_CALL -operator<(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __s, __s + __n) < 0; -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator<(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__s, __s + __n, - __y.begin(), __y.end()) < 0; -} - -template -inline bool _STLP_CALL -operator<(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - size_t __n = _Traits::length(__s); - return basic_string<_CharT,_Traits,_Alloc> ::_M_compare(__x.begin(), __x.end(), - __s, __s + __n) < 0; -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -#if defined (_STLP_USE_SEPARATE_RELOPS_NAMESPACE) - -/* Only defined if _STLP_USE_SEPARATE_RELOPS_NAMESPACE is defined otherwise - * it might introduce ambiguity with pure template relational operators - * from rel_ops namespace. - */ -template -inline bool _STLP_CALL -operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) -{ return !(__x == __y); } - -template -inline bool _STLP_CALL -operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) -{ return __y < __x; } - -template -inline bool _STLP_CALL -operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) -{ return !(__y < __x); } - -template -inline bool _STLP_CALL -operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) -{ return !(__x < __y); } - -# if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator!=(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const basic_string<_CharT,_Traits,_Alloc>& __y) -{ return !(__x==__y); } - -template -inline bool _STLP_CALL -operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) -{ return !(__x==__y); } -# endif - -#endif /* _STLP_USE_SEPARATE_RELOPS_NAMESPACE */ - -template -inline bool _STLP_CALL -operator!=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s == __y); -} - -template -inline bool _STLP_CALL -operator!=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__x == __s); -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator!=(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s == __y); -} - -template -inline bool _STLP_CALL -operator!=(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__x == __s); -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -template -inline bool _STLP_CALL -operator>(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return __y < __s; -} - -template -inline bool _STLP_CALL -operator>(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return __s < __x; -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator>(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return __y < __s; -} - -template -inline bool _STLP_CALL -operator>(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return __s < __x; -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -template -inline bool _STLP_CALL -operator<=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__y < __s); -} - -template -inline bool _STLP_CALL -operator<=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __x); -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator<=(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__y < __s); -} - -template -inline bool _STLP_CALL -operator<=(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __x); -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -template -inline bool _STLP_CALL -operator>=(const _CharT* __s, - const basic_string<_CharT,_Traits,_Alloc>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __y); -} - -template -inline bool _STLP_CALL -operator>=(const basic_string<_CharT,_Traits,_Alloc>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__x < __s); -} - -#if defined (_STLP_USE_TEMPLATE_EXPRESSION) -template -inline bool _STLP_CALL -operator>=(const _CharT* __s, - const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __y) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__s < __y); -} - -template -inline bool _STLP_CALL -operator>=(const _STLP_PRIV __bstr_sum<_CharT,_Traits,_Alloc,_Lhs,_Rhs,_StoreDir>& __x, - const _CharT* __s) { - _STLP_FIX_LITERAL_BUG(__s) - return !(__x < __s); -} -#endif /* _STLP_USE_TEMPLATE_EXPRESSION */ - -_STLP_END_NAMESPACE - -#endif /* _STLP_STRING_OPERATORS_H */ -