クラス langedge::jregex::JRECache

正規表現キャッシュ. [詳細]

#include <jre_util.hpp>

langedge::jregex::JRECacheのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 JRECache (const JRegexLoader *loader=NULL)
 コンストラクタ.
 ~JRECache ()
 デストラクタ
void clear ()
 キャッシュされている正規表現オブジェクトを全て消去する.
JRegexIFgetRegex (const char *pattern, int rflags=0)
 コンパイル済みの正規表現オブジェクトを取得.
JRegexIFgetRegex (const std::string &pattern, int rflags=0)
 コンパイル済みの正規表現オブジェクトを取得.
JRegexIFregMatch (const char *pattern, const char *target, int rflags=0)
 パターンにより、ターゲット文字列のマッチングを行う.
JRegexIFregMatch (const std::string &pattern, const std::string &target, int rflags=0)
 パターンにより、ターゲット文字列のマッチングを行う.
JRegexIFregSubst (const char *pattern, const char *target, char *result, size_t bufsiz, int rflags=0)
 パターンにより、ターゲット文字列の置換を行う.
JRegexIFregSubst (const std::string &pattern, const std::string &target, std::string &result, int rflags=0)
 パターンにより、ターゲット文字列の置換を行う.
size_t getErrorPos ()
 構文エラー位置を得る

説明

正規表現キャッシュ.

コンパイル済みの正規表現オブジェクトをキャッシュしておき、 以前コンパイルしたものと同じパターンが与えられたら、 再コンパイルせずにキャッシュしてあるものを返す。

覚え書き:
DLLではなく、static な正規表現ライブラリを使用する場合は、 jre_util.hpp をインクルードする前に USE_LEI_JREGEX_STATIC_LIBRARY マクロを定義しておく必要がある。


コンストラクタとデストラクタ

langedge::jregex::JRECache::JRECache const JRegexLoader loader = NULL  )  [inline]
 

コンストラクタ.

正規表現ライブラリが DLL の場合は、あらかじめ正規表現 DLL ローダオブジェクトを作成して、 DLL をロードしておく必要がある。引数として、そのローダオブジェクトのポインタを渡す。
静的ライブラリの場合は、ローダは不要。

引数:
loader 正規表現DLLローダ。

langedge::jregex::JRECache::~JRECache  )  [inline]
 

デストラクタ


関数

void langedge::jregex::JRECache::clear  )  [inline]
 

キャッシュされている正規表現オブジェクトを全て消去する.

JRegexIF* langedge::jregex::JRECache::getRegex const char *  pattern,
int  rflags = 0
[inline]
 

コンパイル済みの正規表現オブジェクトを取得.

パターンがまだコンパイルされていなければ、新たにコンパイルしてキャッシュに追加する。

引数:
pattern 正規表現パターン文字列
rflags 動作指定フラグ (enum RegFlags) のビット和。
文字コードの指定は、同一パターンの最初のコンパイル時のみ有効。
戻り値:
コンパイルされた正規表現オブジェクトへのポインタ。
クライアント側ではこのポインタを delete したり release してはならない。
パターンコンパイルに失敗した場合は NULL が返る。
例外:
LoadLibraryError 正規表現DLLがロードされていない
覚え書き:
DLLではなく、static な正規表現ライブラリを使用する場合は、 jre_util.hpp をインクルードする前に USE_LEI_JREGEX_STATIC_LIBRARY マクロを定義しておく必要がある。

JRegexIF* langedge::jregex::JRECache::getRegex const std::string &  pattern,
int  rflags = 0
[inline]
 

コンパイル済みの正規表現オブジェクトを取得.

引数が std::string であることを除き、同名の関数に同じ。

JRegexIF* langedge::jregex::JRECache::regMatch const char *  pattern,
const char *  target,
int  rflags = 0
[inline]
 

パターンにより、ターゲット文字列のマッチングを行う.

パターンがまだコンパイルされていなければ、新たにコンパイルしてキャッシュに追加する。

引数:
pattern 正規表現パターン文字列
target マッチング対象文字列
rflags 動作指定フラグ (enum RegFlags) のビット和。
文字コードの指定は、同一パターンの最初のコンパイル時のみ有効。
戻り値:
マッチングに使用された正規表現オブジェクトへのポインタ

JRegexIF* langedge::jregex::JRECache::regMatch const std::string &  pattern,
const std::string &  target,
int  rflags = 0
[inline]
 

パターンにより、ターゲット文字列のマッチングを行う.

引数が std::string であることを除き、同名の関数に同じ。

JRegexIF* langedge::jregex::JRECache::regSubst const char *  pattern,
const char *  target,
char *  result,
size_t  bufsiz,
int  rflags = 0
[inline]
 

パターンにより、ターゲット文字列の置換を行う.

パターンがまだコンパイルされていなければ、新たにコンパイルしてキャッシュに追加する。 置換後の文字列は別に用意されたバッファ(文字列)に格納される。

引数:
pattern 「/パターン/置換文字列/[修飾子]」
target 置換対象文字列バッファ
result 置換後の文字列を格納するバッファ (target と同じものでもよい)
bufsiz result バッファのサイズ
rflags 動作指定フラグ (enum RegFlags) のビット和。
文字コードの指定は、同一パターンの最初のコンパイル時のみ有効。
戻り値:
置換に使用された正規表現オブジェクトへのポインタ

JRegexIF* langedge::jregex::JRECache::regSubst const std::string &  pattern,
const std::string &  target,
std::string &  result,
int  rflags = 0
[inline]
 

パターンにより、ターゲット文字列の置換を行う.

引数が std::string であることを除き、同名の関数に同じ。

size_t langedge::jregex::JRECache::getErrorPos  )  [inline]
 

構文エラー位置を得る


このクラスの説明は次のファイルから生成されました:
LangEdge ライブラリに対してFri May 6 22:43:04 2005に生成されました。  doxygen 1.4.2