//#if defined (linux) && ((__GNUC__ == 3) || (__GNUC__ == 2 && __GNUC_MINOR__ > 96)) //#include //#include "Unicode.h" // //#ifdef EXTERNAL_DISTRO //using namespace NAMESPACE::Plat_Unicode; //#else //using namespace Plat_Unicode; //#endif // //namespace std //{ // //void char_traits::assign(unicode_char_t &__c1, const unicode_char_t &__c2) //{ // __c1 = __c2; //} // //bool char_traits::eq(const unicode_char_t &__c1, const unicode_char_t &__c2) //{ // return __c1 == __c2; //} // //bool char_traits::lt(const unicode_char_t &__c1, const unicode_char_t &__c2) //{ // return __c1 < __c2; //} // //unicode_char_t *char_traits::copy(unicode_char_t *__s1, const unicode_char_t *__s2, size_t __n) //{ // return(__n == 0 ? __s1 : (unicode_char_t*)memcpy(__s1, __s2, __n * sizeof(unicode_char_t))); //} // //unicode_char_t *char_traits::move(unicode_char_t *__s1, const unicode_char_t* __s2, size_t _Sz) //{ // return (_Sz == 0 ? __s1 : (unicode_char_t*)memmove(__s1, __s2, _Sz * sizeof(unicode_char_t))); //} // //const unicode_char_t *char_traits::find(const unicode_char_t* __s, size_t __n, const unicode_char_t & __c) //{ // for( ; __n > 0; ++__s, --__n) // if(eq(*__s, __c)) // return __s; // return 0; //} // //size_t char_traits::length(const unicode_char_t *__s) //{ // size_t __i; // for(__i = 0; !eq(__s[__i], 0); ++__i); // return __i; //} // //unicode_char_t *char_traits::assign(unicode_char_t *__s, size_t __n, unicode_char_t __c) //{ // for(size_t __i = 0; __i < __n; ++__i) // __s[__i] = __c; // return __s; //} // //int char_traits::compare(const unicode_char_t *__s1, const unicode_char_t *__s2, size_t __n) //{ // for(size_t __i = 0; __i < __n; ++__i) // if(!eq(__s1[__i], __s2[__i])) // return __s1[__i] < __s2[__i] ? -1 : 1; // return 0; //} // //} // //#endif //