コード例 #1
0
ファイル: set_matcher.hpp プロジェクト: AlexRa/Kirstens-clone
    bool match(state_type<BidiIter> &state, Next const &next) const
    {
        if(state.eos() || this->not_ == this->in_set(traits_cast<Traits>(state), *state.cur_))
        {
            return false;
        }

        if(++state.cur_, next.match(state))
        {
            return true;
        }

        return --state.cur_, false;
    }
コード例 #2
0
ファイル: any_matcher.hpp プロジェクト: AlexRa/Kirstens-clone
        static bool match(state_type<BidiIter> &state, Next const &next)
        {
            if(state.eos())
            {
                return false;
            }

            ++state.cur_;
            if(next.match(state))
            {
                return true;
            }

            --state.cur_;
            return false;
        }
コード例 #3
0
ファイル: charset_matcher.hpp プロジェクト: AlexS2172/IVRM
        bool match(state_type<BidiIter> &state, Next const &next) const
        {
            if(state.eos() || !this->charset_.test(*state.cur_, traits_cast<Traits>(state), icase_type()))
            {
                return false;
            }

            ++state.cur_;
            if(next.match(state))
            {
                return true;
            }

            --state.cur_;
            return false;
        }
コード例 #4
0
        bool match(state_type<BidiIter> &state, Next const &next) const
        {
            if(state.eos() || this->not_ == traits_cast<Traits>(state).isctype(
                *state.cur_, this->mask_))
            {
                return false;
            }

            ++state.cur_;
            if(next.match(state))
            {
                return true;
            }

            --state.cur_;
            return false;
        }
コード例 #5
0
ファイル: range_matcher.hpp プロジェクト: AlexS2172/IVRM
        bool match(state_type<BidiIter> &state, Next const &next) const
        {
            if(state.eos() || this->not_ ==
                this->in_range(traits_cast<Traits>(state), *state.cur_, icase_type()))
            {
                return false;
            }

            ++state.cur_;
            if(next.match(state))
            {
                return true;
            }

            --state.cur_;
            return false;
        }
コード例 #6
0
ファイル: assert_eos_matcher.hpp プロジェクト: AlexS2172/IVRM
 static bool match(state_type<BidiIter> &state, Next const &next)
 {
     return state.eos() && next.match(state);
 }