再帰引数パーサ
なんかできたけど、当初の予定から大きくかけ離れたモノが。
RootParser parser;
parser << SingleString(prog, false)
<< OptionParser()
% NumericKey("number", "n", num, false)
% NumericKey("port", "p", port, true)
% BooleanKey("use-tcp", "t", tcp)
% ResolveNameKey("host", "h", host, true, true);
みたいな。実装は全然違うけど、見た目は予定通り。
boost::spritには遠く及ばない。
今のところNumericKey、しかもintだけと、BooleanKey、それからStringKeyしかないので、shortも対応したNumericKey、名前解決までしてくれるKey、Mercurialくらいに親切なコマンド引数を作る。