Giraffe+ 0.5.67.818

Downloadページへ

前リリースからの変化

  • Boost 1.41.0
  • 構造体のデフォルトアラインメントを1にした
  • min_assign, max_assign, min!, max!を定義

Boost 1.41.0

Filesystemの比較演算子の問題は解決されましたが、Testの引数分解の問題は未解決(gs.exeで困る)だったので、自分で修正しました。パッチはboostのtracに投稿済みです。argv_traverserでtracを検索すれば出てきます。
ユーザ側の関心事としては、正規表現(Regex)の機能追加(Added support for many Perl 5.10 syntax elements including named sub-expressions, branch resets and recursive regular expressions. )と、ハッシュマップ(Unordered)のメモリ使用量減ぐらいでしょうか。

構造体のデフォルトアラインメントを1にした

Struct.new(2)で作られる構造体のことです。
Windowsの構造体はアラインメントに依存しない定義になってると思ってましたが、ちゃんと調べてみたらところどころにpack(1)が指定されてました。
これにより、アラインメントの指定(new2の変わりにnew2_with_alignmentを使い、第一引数にpackの値、以降の引数はnew2と同じ)が必要な場面が、"アラインメントのpackがコンパイラのデフォルト(VC++では4)かつchar等そのpack数以下の要素を使ってる構造体を使う場合"、になりました。

min_assign, max_assign, min!, max!を定義

Boostのmin_assign等が便利だったので、Objectのメソッドとして用意しました。min, maxの戻り値をselfに代入するだけです。複数引数対応です。ついでに、minとmaxも複数引数対応になりました。min!, max!とmin_assign, max_assignはそれぞれシノニムです。