View サンプルコード(32bit整数, その他のコンテナを使用)
file info- category(Tag)
- サンプル
- file name
- sample-32bit-container
- last update
- 2008-12-16 14:29
- type
- Plain Text
- editor
- しまたろ
- description
- 文字型として32bit整数を、文字列としてstd::list, std::deque等のコンテナを使用しています。
- language
- Japanese
- translate
////////////////////////////////////////////////////////////
// Sample: 32bit整数とコンテナを使用
#include <list>
#include <deque>
#include <iostream>
#include "mercury/regex.h"
int main(void)
{
// データをセットするのが面倒だけど、その気になれば配列やstd::string以外でもできないことはない
typedef unsigned long utf32_t;
typedef std::list <utf32_t> utf32_list_t;
typedef std::deque<utf32_t> utf32_deque_t;
utf32_list_t pattern;
pattern.push_back('(');
pattern.push_back('a');
pattern.push_back('|');
pattern.push_back('b');
pattern.push_back('c');
pattern.push_back(')');
pattern.push_back('*');
pattern.push_back('d');
pattern.push_back('*');
pattern.push_back('e');
utf32_deque_t text;
text.push_back('a');
text.push_back('b');
text.push_back('c');
text.push_back('d');
text.push_back('e');
// char, wchar_t以外の型はbasic_regexを使う
const mercury::basic_regex<utf32_t> re(pattern); // コンテナをそのまま渡してもいいし…
if(re.match(text.begin(), text.end())) // イテレータを渡してもいい
{
std::cout << "マッチしました" << std::endl;
}
else
{
std::cout << "マッチしませんでした" << std::endl;
}
return 0;
}
| |