さらに おかしいぞTR1の正規表現 の続き。
で、ついでに訊いてみたですよ。
> Can I get "known issues" list?
The Feature Pack Beta comes with a readme that describes the most severe known issues; mostly, bind() bugs. (I think the readme might be in the documentation package.)
> 1. Does it support "(?1***)(?2***)" format for replace?
The TR1 specification does not support this.
The only special format character is $, and the only format sequences are $1 (first capture group), $2 (second capture group), etc., $` (before the match), $' (after the match), $& (the whole match; $0 is not permitted), and $$ (escapes the $ character).
> 2. namespace "std::tr1" will be organized to "std" in the future?
In C++03 mode, VC will never place regex, shared_ptr, etc. in namespace std. They will always live in std::tr1.
In C++0x mode, the C++0x versions of regex, shared_ptr, etc. will live in namespace std. (There are differences between the TR1 and C++0x versions of these libraries.) We may continue to provide std::tr1 in C++0x mode, although I am not certain whether that will happen.
As C++0x concepts have not yet been finalized, you should not expect VC10 to contain full C++0x support.
-- "わかってる問題"リストはないの?
Feature Pack のドキュメントpackageに同梱されてるreadmeに
主だった既知問題があるますよ。
-- regexの置換フォーマットで "(?1***)(?2***)" はおっけぇ?
ごめんね、TR1の仕様にはその形式がないのよねー
$1とか$2とか$`とか$'とか$&とかはあんだけどね。
-- std::tr1は将来的にstdになっちゃうですか?
C++03ではstd::tr1よね。
C++0xではみんなstdに入るけど、今んとこ将来のC++0xでもstd::tr1のまま
でいこか思ぉてる。ま、最終的にどうなるかわかんないんだけどさ。
ついでに C++0x の "concepts" はまだきっちり決まってないから、
VC10のC++0x完全サポートは期待しないほうがいいよ。