Artifact Content

Not logged in

Artifact a1c854d162219a9e1814fbc210e1ebe275787683


#ifndef AFX_RSEARCH_H__5A9346D4_3152_4923_8EFC_38264A456364__INCLUDED_
#define AFX_RSEARCH_H__5A9346D4_3152_4923_8EFC_38264A456364__INCLUDED_
#include "kilib/ktlaptr.h"
#include "NSearch.h"


//=========================================================================
//@{ @pkg Gp.Search //@}
//@{
//	超簡易正規表現マッチング関数。
//
//	patとstr全体がマッチするならtrue、ダメならfalseを返す
//@}
//=========================================================================

bool reg_match( const wchar_t* pat, const wchar_t* str, bool caseS );


class RegNFA;
//=========================================================================
//@{
// Searhcableとしての実装
//@}
//=========================================================================

class RSearch : public Searchable
{
public:
	RSearch( const unicode* key, bool caseS, bool down );

private:
	virtual bool Search( const unicode* str, ulong len, ulong stt,
		ulong* mbg, ulong* med );

private:
	ki::dptr<RegNFA> re_;
	bool caseS_;
	bool down_;
};





#endif