リファレンス
<boost/xpressive/basic_regex.hpp> ヘッダ
basic_regex<> クラステンプレートの定義と、関連するヘルパ関数がある。
namespace boost {
namespace xpressive {
template<typename BidiIter> struct basic_regex;
template<typename BidiIter> void swap(basic_regex< BidiIter > &, basic_regex< BidiIter > &);
}
}
<boost/xpressive/match_results.hpp> ヘッダ
match_results 型の定義と、関連するヘルパがある。match_results 型は regex_match および regex_search 操作の結果を保持する。
namespace boost {
namespace xpressive {
template<typename BidiIter> struct match_results;
template<typename BidiIter> struct regex_id_filter_predicate;
}
}
<boost/xpressive/regex_actions.hpp> ヘッダ
xpressive におけるアクション式の構文要素がある。
namespace boost {
namespace xpressive {
template<typename PolymorphicFunctionObject> struct function;
template<typename T> struct local;
template<typename T, int I, typename Dummy> struct placeholder;
template<typename T> struct reference;
template<typename T> struct value;
function< op::at >::type const at;
function< op::push >::type const push;
function< op::push_back >::type const push_back;
function< op::push_front >::type const push_front;
function< op::pop >::type const pop;
function< op::pop_back >::type const pop_back;
function< op::pop_front >::type const pop_front;
function< op::top >::type const top;
function< op::back >::type const back;
function< op::front >::type const front;
function< op::first >::type const first;
function< op::second >::type const second;
function< op::matched >::type const matched;
function< op::length >::type const length;
function< op::str >::type const str;
function< op::insert >::type const insert;
function< op::make_pair >::type const make_pair;
function< op::unwrap_reference >::type const unwrap_reference;
template<typename T, typename A> unspecified as(A const &);
template<typename T, typename A> unspecified static_cast_(A const &);
template<typename T, typename A> unspecified dynamic_cast_(A const &);
template<typename T, typename A> unspecified const_cast_(A const &);
template<typename T> value< T > const val(T const &);
template<typename T> reference< T > const ref(T &);
template<typename T> reference< T const > const cref(T const &);
template<typename T> unspecified check(T const &);
template<typename... ArgBindings> unspecified let(ArgBindings const &...);
template<typename T, typename... Args> unspecified construct(Args const &...);
namespace op {
template<typename T> struct as;
struct at;
struct back;
template<typename T> struct const_cast_;
template<typename T> struct construct;
template<typename T> struct dynamic_cast_;
struct first;
struct front;
struct insert;
struct length;
struct make_pair;
struct matched;
struct pop;
struct pop_back;
struct pop_front;
struct push;
struct push_back;
struct push_front;
struct second;
template<typename T> struct static_cast_;
struct str;
template<typename Except> struct throw_;
struct top;
struct unwrap_reference;
}
}
}
<boost/xpressive/regex_algorithms.hpp> ヘッダ
regex_match 、regex_search および regex_replace アルゴリズムがある。
namespace boost {
namespace xpressive {
template<typename BidiIter>
bool regex_match(BidiIter, BidiIter, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiIter>
bool regex_match(BidiIter, BidiIter, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename Char> bool regex_match(Char *, match_results< Char * > &,
basic_regex< Char * > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiRange, typename BidiIter>
bool regex_match(BidiRange &, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiRange, typename BidiIter>
bool regex_match(BidiRange const &, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename Char>
bool regex_match(Char *, basic_regex< Char * > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiRange, typename BidiIter>
bool regex_match(BidiRange &, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiRange, typename BidiIter>
bool regex_match(BidiRange const &, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiIter>
bool regex_search(BidiIter, BidiIter, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiIter>
bool regex_search(BidiIter, BidiIter, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename Char>
bool regex_search(Char *, match_results< Char * > &,
basic_regex< Char * > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiRange, typename BidiIter>
bool regex_search(BidiRange &, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiRange, typename BidiIter>
bool regex_search(BidiRange const &, match_results< BidiIter > &,
basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename Char>
bool regex_search(Char *, basic_regex< Char * > const &,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiRange, typename BidiIter>
bool regex_search(BidiRange &, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiRange, typename BidiIter>
bool regex_search(BidiRange const &, basic_regex< BidiIter > const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename OutIter, typename BidiIter, typename Formatter>
OutIter regex_replace(OutIter, BidiIter, BidiIter,
basic_regex< BidiIter > const &,
Formatter const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename OutIter, typename BidiIter>
OutIter regex_replace(OutIter, BidiIter, BidiIter,
basic_regex< BidiIter > const &,
typename iterator_value< BidiIter >::type const *,
regex_constants::match_flag_type = regex_constants::match_default);
template<typename BidiContainer, typename BidiIter, typename Formatter>
BidiContainer
regex_replace(BidiContainer &, basic_regex< BidiIter > const &,
Formatter const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiContainer, typename BidiIter, typename Formatter>
BidiContainer
regex_replace(BidiContainer const &, basic_regex< BidiIter > const &,
Formatter const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename Char, typename Formatter>
std::basic_string< typename remove_const< Char >::type >
regex_replace(Char *, basic_regex< Char * > const &, Formatter const &,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiContainer, typename BidiIter>
BidiContainer
regex_replace(BidiContainer &, basic_regex< BidiIter > const &,
typename iterator_value< BidiIter >::type const *,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename BidiContainer, typename BidiIter>
BidiContainer
regex_replace(BidiContainer const &, basic_regex< BidiIter > const &,
typename iterator_value< BidiIter >::type const *,
regex_constants::match_flag_type = regex_constants::match_default,
unspecified = 0);
template<typename Char>
std::basic_string< typename remove_const< Char >::type >
regex_replace(Char *, basic_regex< Char * > const &,
typename add_const< Char >::type *,
regex_constants::match_flag_type = regex_constants::match_default);
}
}
<boost/xpressive/regex_compiler.hpp> ヘッダ
正規表現を文字列から構築するファクトリである regex_compiler の定義がある。
namespace boost {
namespace xpressive {
template<typename BidiIter, typename RegexTraits, typename CompilerTraits>
struct regex_compiler;
}
}
<boost/xpressive/regex_constants.hpp> ヘッダ
syntax_option_type 、match_flag_type および error_type 列挙の定義がある。
namespace boost {
namespace xpressive {
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
}
}
<boost/xpressive/regex_error.hpp> ヘッダ
regex_error 例外クラスの定義がある。
BOOST_XPR_ENSURE_(pred, code, msg)
namespace boost {
namespace xpressive {
struct regex_error;
}
}
<boost/xpressive/regex_iterator.hpp> ヘッダ
シーケンス内のすべてのマッチを辿る STL 互換のイテレータである regex_iterator 型の定義がある。
namespace boost {
namespace xpressive {
template<typename BidiIter> struct regex_iterator;
}
}
<boost/xpressive/regex_primitives.hpp> ヘッダ
静的正規表現を記述するための構文要素がある。
namespace boost {
namespace xpressive {
struct mark_tag;
unsigned int const inf; // 部分式の無限回の繰り返しに使う。
unspecified nil; // 空のマッチ。
unspecified alnum; // 英数字にマッチ。
unspecified alpha; // アルファベットにマッチ。
unspecified blank; // 空白(水平空白)文字にマッチ。
unspecified cntrl; // 制御文字にマッチ。
unspecified digit; // 数字にマッチ。
unspecified graph; // グラフィカルな文字にマッチ。
unspecified lower; // 小文字にマッチ。
unspecified print; // 印字可能な文字にマッチ。
unspecified punct; // 区切り文字にマッチ。
unspecified space; // 空白類文字にマッチ。
unspecified upper; // 大文字にマッチ。
unspecified xdigit; // 16 進数字にマッチ。
unspecified bos; // シーケンスの先頭を表す表明。
unspecified eos; // シーケンスの終端を表す表明。
unspecified bol; // 行頭を表す表明。
unspecified eol; // 行末を表す表明。
unspecified bow; // 語頭を表す表明。
unspecified eow; // 語末を表す表明。
unspecified _b; // 単語境界を表す表明。
unspecified _w; // 単語構成文字にマッチ。
unspecified _d; // 数字にマッチ。
unspecified _s; // 空白類文字にマッチ。
proto::terminal< char >::type const _n; // リテラルの改行 '\n' にマッチ。
unspecified _ln; // 論理改行シーケンスにマッチ。
unspecified _; // あらゆる文字にマッチ。
unspecified self; // 現在の正規表現オブジェクトへの参照。
unspecified set; // 文字セットを作成するのに使用。
mark_tag const s0; // Perl の $& 部分マッチプレースホルダ。
mark_tag const s1; // Perl の $1 部分マッチプレースホルダ。
mark_tag const s2;
mark_tag const s3;
mark_tag const s4;
mark_tag const s5;
mark_tag const s6;
mark_tag const s7;
mark_tag const s8;
mark_tag const s9;
unspecified a1;
unspecified a2;
unspecified a3;
unspecified a4;
unspecified a5;
unspecified a6;
unspecified a7;
unspecified a8;
unspecified a9;
template<typename Expr> unspecified icase(Expr const &);
template<typename Literal> unspecified as_xpr(Literal const &);
template<typename BidiIter>
proto::terminal< reference_wrapper< basic_regex< BidiIter > const > >::type const
by_ref(basic_regex< BidiIter > const &);
template<typename Char> unspecified range(Char, Char);
template<typename Expr>
proto::result_of::make_expr< proto::tag::logical_not, proto::default_domain, Expr const & >::type const
optional(Expr const &);
template<unsigned int Min, unsigned int Max, typename Expr>
unspecified repeat(Expr const &);
template<unsigned int Count, typename Expr>;
unspecified repeat(Expr const &);
template<typename Expr> unspecified keep(Expr const &);
template<typename Expr> unspecified before(Expr const &);
template<typename Expr> unspecified after(Expr const &);
template<typename Locale> unspecified imbue(Locale const &);
template<typename Skip> unspecified skip(Skip const &);
}
}
<boost/xpressive/regex_token_iterator.hpp> ヘッダ
regex_token_iterator の定義と、正規表現を使って文字列をトークンに分割する STL 互換のイテレータがある。
namespace boost {
namespace xpressive {
template<typename BidiIter> struct regex_token_iterator;
}
}
<boost/xpressive/regex_traits.hpp> ヘッダ
BOOST_XPRESSIVE_USE_C_TRAITS マクロにしたがって C 正規表現特性か C++ 正規表現特性のヘッダファイルをインクルードする。
namespace boost {
namespace xpressive {
struct regex_traits_version_1_tag;
struct regex_traits_version_2_tag;
}
}
<boost/xpressive/sub_match.hpp> ヘッダ
sub_match<> クラステンプレートと、関連するヘルパ関数の定義がある。
namespace boost {
namespace xpressive {
template<typename BidiIter> struct sub_match;
template<typename BidiIter> BidiIter range_begin(sub_match< BidiIter > &);
template<typename BidiIter>
BidiIter range_begin(sub_match< BidiIter > const &);
template<typename BidiIter> BidiIter range_end(sub_match< BidiIter > &);
template<typename BidiIter>
BidiIter range_end(sub_match< BidiIter > const &);
template<typename BidiIter, typename Char, typename Traits>
std::basic_ostream< Char, Traits > &
operator<<(std::basic_ostream< Char, Traits > &,
sub_match< BidiIter > const &);
template<typename BidiIter>
bool operator==(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator!=(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<=(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>=(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator==(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator!=(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>=(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<=(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator==(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator!=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator<(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator>(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator>=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator<=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
bool operator==(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator!=(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator>=(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator<=(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
bool operator==(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
bool operator!=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
bool operator<(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
bool operator>(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
bool operator>=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
bool operator<=(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(sub_match< BidiIter > const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(typename iterator_value< BidiIter >::type const & lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(sub_match< BidiIter > const & lhs,
typename iterator_value< BidiIter >::type const * rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(typename iterator_value< BidiIter >::type const * lhs,
sub_match< BidiIter > const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(sub_match< BidiIter > const & lhs,
typename sub_match< BidiIter >::string_type const & rhs);
template<typename BidiIter>
sub_match< BidiIter >::string_type
operator+(typename sub_match< BidiIter >::string_type const & lhs,
sub_match< BidiIter > const & rhs);
}
}
<boost/xpressive/traits/c_regex_traits.hpp> ヘッダ
静的・動的正規表現の振る舞いをカスタマイズする C ロカール関数のラッパである c_regex_traits テンプレートの定義がある。
<boost/xpressive/traits/cpp_regex_traits.hpp> ヘッダ
静的・動的正規表現の振る舞いをカスタマイズする std::locale のラッパである cpp_regex_traits テンプレートの定義がある。
<boost/xpressive/traits/null_regex_traits.hpp> ヘッダ
非文字データを検索する静的・動的正規表現で使用する控えの正規表現特性の実装である、null_regex_traits テンプレートの定義がある。
<boost/xpressive/xpressive.hpp> ヘッダ
静的・動的両方の正規表現サポートを含む xpressive のすべてをインクルードする。
<boost/xpressive/xpressive_dynamic.hpp> ヘッダ
動的正規表現の記述と使用に必要なすべてをインクルードする。
<boost/xpressive/xpressive_fwd.hpp> ヘッダ
xpressive のすべての公開データ型の前方宣言。
BOOST_PROTO_FUSION_V2BOOST_XPRESSIVE_HAS_MS_STACK_GUARD
namespace boost {
namespace xpressive {
template<typename BidiIter> struct basic_regex;
template<typename Char> struct c_regex_traits;
template<typename RegexTraits> struct compiler_traits;
template<typename Char> struct cpp_regex_traits;
template<typename Traits> struct has_fold_case;
template<typename Elem> struct null_regex_traits;
template<typename BidiIter> struct regex_token_iterator;
template<typename Char, typename Impl> struct regex_traits;
typedef void const * regex_id_type;
typedef basic_regex< std::string::const_iterator > sregex;
typedef basic_regex< char const * > cregex;
typedef basic_regex< std::wstring::const_iterator > wsregex;
typedef basic_regex< wchar_t const * > wcregex;
typedef sub_match< std::string::const_iterator > ssub_match;
typedef sub_match< char const * > csub_match;
typedef sub_match< std::wstring::const_iterator > wssub_match;
typedef sub_match< wchar_t const * > wcsub_match;
typedef regex_compiler< std::string::const_iterator > sregex_compiler;
typedef regex_compiler< char const * > cregex_compiler;
typedef regex_compiler< std::wstring::const_iterator > wsregex_compiler;
typedef regex_compiler< wchar_t const * > wcregex_compiler;
typedef regex_iterator< std::string::const_iterator > sregex_iterator;
typedef regex_iterator< char const * > cregex_iterator;
typedef regex_iterator< std::wstring::const_iterator > wsregex_iterator;
typedef regex_iterator< wchar_t const * > wcregex_iterator;
typedef regex_token_iterator< std::string::const_iterator > sregex_token_iterator;
typedef regex_token_iterator< char const * > cregex_token_iterator;
typedef regex_token_iterator< std::wstring::const_iterator > wsregex_token_iterator;
typedef regex_token_iterator< wchar_t const * > wcregex_token_iterator;
typedef match_results< std::string::const_iterator > smatch;
typedef match_results< char const * > cmatch;
typedef match_results< std::wstring::const_iterator > wsmatch;
typedef match_results< wchar_t const * > wcmatch;
typedef regex_id_filter_predicate< std::string::const_iterator > sregex_id_filter_predicate;
typedef regex_id_filter_predicate< char const * > cregex_id_filter_predicate;
typedef regex_id_filter_predicate< std::wstring::const_iterator > wsregex_id_filter_predicate;
typedef regex_id_filter_predicate< wchar_t const * > wcregex_id_filter_predicate;
namespace op {
template<typename T> struct as;
template<typename T> struct const_cast_;
template<typename T> struct construct;
template<typename T> struct dynamic_cast_;
template<typename T> struct static_cast_;
template<typename Except> struct throw_;
}
}
<boost/xpressive/xpressive_static.hpp> ヘッダ
静的正規表現の記述と使用に必要なすべてをインクルードする。
<boost/xpressive/xpressive_typeof.hpp> ヘッダ
xpressive を Boost.Typeof ライブラリとともに使用するための型登録。