Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > basic_string with unsigned short

Reply
Thread Tools

basic_string with unsigned short

 
 
wolverine
Guest
Posts: n/a
 
      10-30-2006
Hi,
Given below is a traits with unsigned short. If i create a
stringstream with this traits will there be any problem.

struct XMLCh_traits
{
typedef unsigned short char_type;

typedef unsigned int int_type;

typedef streampos pos_type;
typedef streamoff off_type;
typedef mbstate_t state_type;

static void assign(char_type& __c1, const char_type& __c2)
{ __c1 = __c2; }

static bool eq(const char_type& __c1, const char_type& __c2)
{ return __c1 == __c2; }

static bool lt(const char_type& __c1, const char_type& __c2)
{ return __c1 < __c2; }

static int compare(const char_type* __s1, const char_type*
__s2, size_t __n)
{
for (size_t __i = 0; __i < __n; ++__i)
if (!eq(__s1[__i], __s2[__i]))
return lt(__s1[__i], __s2[__i]) ? -1
:1;
return 0;
}

static size_t length(const char_type* __s)
{
const char_type* __p = __s;
while (*__p) ++__p;
return (__p - __s);
}

static const char_type* find(const char_type* __s, size_t __n,
const char_type& __a)
{
for (const char_type* __p = __s; size_t(__p - __s) <
__n; ++__p)
if (*__p == __a) return __p;
return 0;
}

static char_type* move(char_type* __s1, const char_type* __s2,
size_t __n)
{ return (char_type*) memmove(__s1, __s2, __n *
sizeof(char_type)); }

static char_type* copy(char_type* __s1, const char_type* __s2,
size_t __n)
{ return (char_type*) memcpy(__s1, __s2, __n *
sizeof(char_type)); }

static char_type* assign(char_type* __s, size_t __n, char_type
__a)
{
for (char_type* __p = __s; __p < __s + __n; ++__p)
assign(*__p, __a);
return __s;
}

static char_type to_char_type(const int_type& __c)
{ return char_type(__c); }

static int_type to_int_type(const char_type& __c)
{ return int_type(__c); }

static bool eq_int_type(const int_type& __c1, const int_type&
__c2)
{ return __c1 == __c2; }

static int_type eof() { return static_cast<int_type>(-1); }

static int_type not_eof(const int_type& __c)
{ return eq_int_type(__c, eof()) ? int_type(0) : __c; }

};

//typedef unsigned short XMLCh;
typedef std::basic_string<unsigned short, XMLCh_traits> uString;
typedef std::basic_stringstream<unsigned short, XMLCh_traits>
uStringStream;

unsigned short result;
//this _U is macro which uses XMLString::transcode
//to get a XMLCh* out of char*
uString str(_U("123"));
uStringStream stream(str);
stream>>result; // debugger showes this line causes aborting
cout<<result<<endl;

The program is getting ABORTED. Could any one tell me why ?

Thanks in Advance
Kiran Pradeep.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
basic_string with unsigned short wolverine C++ 5 10-28-2006 04:34 PM
basic_string with unsigned short - initialization and usage wolverine C++ 0 10-28-2006 06:06 AM
basic_string with unsigned short wolverine C++ 0 10-28-2006 05:58 AM
unsigned short short? slougheed@gmail.com C++ 4 10-16-2006 11:25 PM
Linking error LNK2001 - "__declspec(dllimport) private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(unsigned short)" (__imp_?_Tidy@?$basic_string@DU?$char_ sharmadeep1980@gmail.com C++ 1 07-07-2006 07:27 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57