dcdd144598 2011-02-23 kinaba: #ifndef AFX_RSEARCH_H__5A9346D4_3152_4923_8EFC_38264A456364__INCLUDED_ dcdd144598 2011-02-23 kinaba: #define AFX_RSEARCH_H__5A9346D4_3152_4923_8EFC_38264A456364__INCLUDED_ dcdd144598 2011-02-23 kinaba: #include "kilib/ktlaptr.h" dcdd144598 2011-02-23 kinaba: #include "NSearch.h" dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: //@{ @pkg Gp.Search //@} dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // 超簡易正規表現マッチング関数。 dcdd144598 2011-02-23 kinaba: // dcdd144598 2011-02-23 kinaba: // patとstr全体がマッチするならtrue、ダメならfalseを返す dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: bool reg_match( const wchar_t* pat, const wchar_t* str, bool caseS ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class RegNFA; dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // Searhcableとしての実装 dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class RSearch : public Searchable dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: RSearch( const unicode* key, bool caseS, bool down ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: virtual bool Search( const unicode* str, ulong len, ulong stt, dcdd144598 2011-02-23 kinaba: ulong* mbg, ulong* med ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: ki::dptr<RegNFA> re_; dcdd144598 2011-02-23 kinaba: bool caseS_; dcdd144598 2011-02-23 kinaba: bool down_; dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif