Logo Search packages:      
Sourcecode: yaskkserv version File versions  Download package

static bool SkkSimpleString::startWith ( const char *  base,
const char *  search,
int  base_size,
int  search_size 
) [inline, static]

base_size バイトの文字列 base が search_size バイトの search により開始されていれば真を返します。

終端コードとして ' ' または '' を認識します。

Definition at line 1162 of file skk_simple_string.hpp.

        {
                DEBUG_ASSERT_POINTER(base);
                DEBUG_ASSERT_POINTER(search);
                DEBUG_ASSERT(base_size > 0);
                DEBUG_ASSERT(search_size > 0);

                for (int i = 0; ; ++i)
                {
                        if (i >= search_size)
                        {
                                return true;
                        }

                        int s_2 = *(reinterpret_cast<const unsigned char*>(search + i));
                        if ((s_2 == ' ') ||
                            (s_2 == '\0'))
                        {
                                return true;
                        }


                        if (i >= base_size)
                        {
                                return false;
                        }

                        int s_1 = *(reinterpret_cast<const unsigned char*>(base + i));
                        if (s_1 != s_2)
                        {
                                return false;
                        }
                        if ((s_1 == ' ') ||
                            (s_1 == '\0'))
                        {
                                return false;
                        }
                }


                return false;   // NOTREACHED
        }


Generated by  Doxygen 1.6.0   Back to index