doubt on traits with memchr and memcmp

Discussion in 'C++' started by wolverine, Oct 28, 2006.

  1. wolverine

    wolverine Guest

    Hi
    Is there any problem in the following traits if i
    1) use memcmp for compare
    2) use memchr for find
    3) memset to assign

    I am asking this since memset and memchr accepts an "int" as character
    to set and search respectively. So if i use them with "unsigned short"
    which is my char_type will their be any problem ?

    struct char_traits
    {
    typedef unsigned short char_type;
    typedef 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 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* assign(char_type* __s, size_t __n, char_type __a)
    {
    for (char_type* __p = __s; __p < __s + __n; ++__p)
    assign(*__p, __a);
    return __s;
    }
    };

    Thanks in advance
    Kiran.
     
    wolverine, Oct 28, 2006
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. memcmp for <

    , Mar 23, 2005, in forum: C++
    Replies:
    16
    Views:
    1,027
    Jack Klein
    Mar 24, 2005
  2. Joona I Palaste

    Re: memcmp versus strstr; reaction to chr(0)

    Joona I Palaste, Jul 24, 2003, in forum: C Programming
    Replies:
    0
    Views:
    442
    Joona I Palaste
    Jul 24, 2003
  3. Preets
    Replies:
    4
    Views:
    568
  4. blueblueblue2005

    memcmp() and strcmp()

    blueblueblue2005, Jul 3, 2005, in forum: C++
    Replies:
    4
    Views:
    2,234
    Jack Klein
    Jul 4, 2005
  5. ray
    Replies:
    1
    Views:
    1,425
    Robert Kern
    Jun 4, 2010
Loading...

Share This Page