履歴
新規項目は svn.boost.org に提出してほしい。チケットにはあなたのメールアドレスを入れておく必要がある。
現在オープンな項目はここから見られる。
クローズなものを含めた全項目はここから見られる。
Boost.Regex-5.1.3(Boost-1.64.0)
Oracle C++ でのコンパイルが静的リンクに限定されていたのを修正した。
libFuzzer を使ったファジング対応と見つかった不具合の修正(#12818)。
Boost.Regex-5.1.2(Boost-1.62.0)
Boost.Regex-5.1.1(Boost-1.61.0)
メモリキャッシュをロックフリーな実装に切り替えた。PR#23 を見よ。
Boost.Regex-5.1.0(Boost-1.60.0)
Boost.Regex-5.0.1(Boost-1.58.0)
誤字を修正した(#10682)。
Coverity の警告についてプルリクエスト #6 をマージした。
Coverity の警告についてプルリクエスト #7 をマージした。
Coverity の警告についてプルリクエスト #8 をマージした。
ICU にリンクする場合により多くのビルドバリアントを可能にするためプルリクエスト #10 をマージした。
ICU と部分マッチを組み合わせたときに発生するバグを修正した(#10114)。
ICU ライブラリの遅延ロードサポートを削除した。遅延ロードは最新の ICU リリースでは(リンカエラーにより)動作しない。
Boost.Regex-5.0.0(Boost-1.56.0)
Git へ移行後、ライブラリ固有のバージョン番号を使用することにした。また、破壊的変更が1つあったためバージョン 4 からバージョン 5 となった。
破壊的変更:
basic_regex<>::mark_count
の挙動を既存のドキュメントと一致するよう修正した。同時にbasic_regex<>::subexpression(n)
がマッチするよう変更した。#9227 を見よ。チケット #8903 を修正した。
ドキュメントの誤字を修正した(#9283)。
照合コードについて、ロカールが NUL を含む照合文字列を生成した場合に失敗するバグを修正した。#9451 を見よ。
まれなスレッドの使用方法(静的に初期化されていないミューテックス)に対するパッチを適用した。#9461 を見よ。
不正な UTF-8 シーケンスに対するチェック機能を改善した。#9473 を見よ。
Boost-1.54
以下のチケットの修正:#8569。
Boost-1.53
Boost-1.51
Boost-1.50
(?!)
が正しい式とならない問題を修正し、正しい条件式の構成要素についてドキュメントを更新した。
Boost-1.48
Boost 1.47
Boost 1.44
Boost 1.42
Boost 1.40
名前付き部分式、選択分岐による部分式番号のリセット、再帰正規表現といった Perl 5.10 の構文要素の多くを追加した。
Boost 1.38
破壊的な変更:Perl の正規表現構文で空の正規表現および空の選択を許容するようにした。この変更は Perl との互換性のためのものである。新しい
syntax_option_type
であるno_empty_expressions
が設定されていれば以前の挙動となり、空の式は許可されない。チケット #1081 にもとづいている。書式化文字列において Perl 形式の
${n}
式をサポートした(チケット #2556)。正規表現文字列内の部分式の位置へのアクセスをサポートした(チケット #2269)。
Boost 1.34
貪欲でない繰り返しと部分マッチが場合によっては正常に動作しないのを修正した。
貪欲でない繰り返しが VC++ で場合によっては正常に動作しないのを修正した(バグレポート 1515830)。
*this が部分マッチを表しているときに
match_results::position
が意味のある結果を返すように変更した。改行文字が
|
と同様に扱われるようにgrep
およびegrep
オプションを修正した。
Boost 1.33.1
メイクファイルが壊れていたのを修正した。
VC7.1 + STLport-4.6.2 で
/Zc:wchar_t
を使用してビルドできるように設定セットアップを修正した。SGI Irix コンパイラが対処できるように、
static_mutex.hpp
のクラスインラインの宣言を移動した。必要な標準ライブラリの
#include
をfileiter.hpp
、regex_workaround.hpp
およびcpp_regex_traits.hpp
に追加した。貪欲でない繰り返しが奇妙な事情により最大値よりも多く繰り返す場合があったのを修正した。
デフォルトコンストラクタで構築したオブジェクトが
basic_regex<>::empty
で返す値を修正した。regex_error
の定義を Boost-1.32.0 と後方互換になるように変更した。Intel C++ 8.0 未満で外部テンプレートを無効にした。未解決の参照が発生していた。
gcc で特定のメンバ関数だけがエクスポートされるように extern なテンプレートコードを書き直した。リンク時にデバッグ用コードと非デバッグコードを混ぜたときに奇妙な未解決の参照が発生していた。
Unicode イテレータのメンバを初期化するようにした。gcc で不要な警告が出なくなった。
ICU 関連のコードを VC6 と VC7 に移植した。
STLport のデバッグモードをクリーン化した(?)。
後読み表明を固定長さの繰り返しが使えるように、また反復時に後読みが現在の検索範囲の前に(前回のマッチに)遡れるように修正した。
前方先読み内の貪欲でない繰り返しに関する奇妙なバグを修正した。
文字集合内で文字クラスの否定が使えるようにした。
[a-z-]
を再び正しい正規表現として退行テストを修正した。いくつか不正な式を受け付けていたバグを修正した。
Boost 1.33.0
式の解析コードを完全に書き直し、特性クラスのサポートを追加した。これにより標準草案に適合した。
破壊的な変更:
basic_regex
コンストラクタに渡す構文オプションを合理化した。既定のオプション(perl
)が値 0 となり、どの正規表現構文スタイル(Perl 、POSIX 拡張、POSIX 基本など)にどのオプションを適用できるか明確に文書化した。破壊的な変更:POSIX 拡張正規表現および POSIX 基本正規表現が以前よりも厳密に POSIX 標準に従うようになった。
(?imsx-imsx)
構造のサポートを追加した。先読みの式
(?<=positive-lookbehind)
および(?<!negative-lookbehind)
のサポートを追加した。(?(assertion)true-expression|false-expression)
のサポートを追加した。MFC/ATL 文字列のラッパを追加した。
Unicode サポートを追加した。ICU を使用している。
改行のサポートについて、
\f
を行区切り(あらゆる文字型で)、\x85
をワイド文字の行区切り(Unicode のみ)として処理するように変更した。置換文字列を Perl や Sed スタイルの書式化文字列ではなく直値として扱う、新しい書式化フラグ
format_literal
を追加した。エラーの通知を
regex_error
型の例外で表現するようになった。以前使用していた型bad_expression
およびbad_pattern
はregex_error
に対する typedef でしかなくなった。regex_error
型は新しい 2 、3 のメンバを持つ。code
は文字列ではなくエラーコードを返し、position
は式中のエラーの発生位置を返す。
Boost 1.32.1
.
の境界付き繰り返しの部分マッチに関するバグを修正した。
Boost 1.31.0
パターンマッチのコードを完全に書き直した。以前よりも 10 倍速くなった。
ドキュメントを再編成した。
正規表現標準草案にないインターフェイスをすべて非推奨とした。
regex_iterator
とregex_token_iterator
を追加した。Perl スタイルの独立部分式のサポートを追加。
sub_match
クラスに非メンバ演算子を追加した。これによりsub_match
の文字列との比較、および文字列への追加による新文字列の生成が可能になった。拡張的な捕捉情報に対する実験的なサポートを追加した。
マッチフラグの型を(整数でない別の型に)変更した。マッチフラグを
match_flag_type
ではなく整数としてアルゴリズムに渡そうとするとコンパイルエラーとなるようになった。