1#include "stlport_prefix.h" 2 3#include <string> 4 5_STLP_BEGIN_NAMESPACE 6 7#if defined(_STLP_USE_WIDE_INTERFACE) 8_STLP_MOVE_TO_PRIV_NAMESPACE 9 10wstring __ASCIIToWide(const char *ascii) { 11 size_t size = strlen(ascii); 12 wchar_t* buff = new wchar_t[size+1]; 13 mbstowcs(buff, ascii, size); 14 buff[size] = 0x00; 15 wstring ret(buff); 16 delete[] buff; 17 return ret; 18} 19string __WideToASCII(const wchar_t *wide) { 20 size_t size = wcslen(wide); 21 char* buff = new char[size+1]; 22 wcstombs(buff, wide, size); 23 buff[size] = 0; 24 string ret(buff); 25 delete[] buff; 26 return ret; 27} 28_STLP_MOVE_TO_STD_NAMESPACE 29#endif 30 31#if !defined (_STLP_NO_FORCE_INSTANTIATE) 32 33template class _STLP_CLASS_DECLSPEC allocator<char>; 34 35_STLP_MOVE_TO_PRIV_NAMESPACE 36 37template class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<char*, char, allocator<char> >; 38template class _STLP_CLASS_DECLSPEC _String_base<char, allocator<char> >; 39 40# if defined (_STLP_DEBUG) && !defined (__SUNPRO_CC) && !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) 41# define basic_string _STLP_NON_DBG_NAME(str) 42 43template class _STLP_CLASS_DECLSPEC basic_string<char, char_traits<char>, allocator<char> >; 44template class _STLP_CLASS_DECLSPEC __construct_checker<basic_string<char, char_traits<char>, allocator<char> > >; 45 46# undef basic_string 47# endif 48 49# if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) 50# define basic_string _STLP_NO_MEM_T_NAME(str) 51# else 52_STLP_MOVE_TO_STD_NAMESPACE 53# endif 54 55template class _STLP_CLASS_DECLSPEC basic_string<char, char_traits<char>, allocator<char> >; 56 57# if defined (basic_string) 58_STLP_MOVE_TO_STD_NAMESPACE 59# undef basic_string 60# endif 61 62# if !defined (_STLP_NO_WCHAR_T) 63template class _STLP_CLASS_DECLSPEC allocator<wchar_t>; 64 65_STLP_MOVE_TO_PRIV_NAMESPACE 66 67template class _STLP_CLASS_DECLSPEC _String_base<wchar_t, allocator<wchar_t> >; 68 69# if defined (_STLP_DEBUG) && !defined (__SUNPRO_CC) && !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) 70# define basic_string _STLP_NON_DBG_NAME(str) 71 72template class _STLP_CLASS_DECLSPEC basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >; 73template class _STLP_CLASS_DECLSPEC __construct_checker<basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >; 74 75# undef basic_string 76# endif 77 78# if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) 79# define basic_string _STLP_NO_MEM_T_NAME(str) 80# else 81_STLP_MOVE_TO_STD_NAMESPACE 82# endif 83 84template class _STLP_CLASS_DECLSPEC basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >; 85 86# if defined (basic_string) 87_STLP_MOVE_TO_STD_NAMESPACE 88# undef basic_string 89# endif 90# endif 91#endif 92 93_STLP_END_NAMESPACE 94