2013年6月29日土曜日

「Boost.勉強会 #12 大阪」に参加してきました

Boost.勉強会 #12 大阪」に参加しました。
今回は、会社の同僚が何人か参加するらしいのでぼっち飯しなくて済みそうです。

それでは行ってきます。


というわけで行ってきました。
各セッションの資料は Boost.勉強会のページにまとまっていますので、そちらからご覧ください。
簡単ではありますが、感想を書きました。

C++で作るWEBアプリケーション
C++で作るWEBアプリケーション: @fadis_

Emscriptien を使うと C++ から JavaScript に変換できるとのこと。
OpenGL (ES) や OpenAL が使えて、ファイルシステムもあるそうで、Unreal Engine が動いたとか。
普通にゲーム作れそうですね。

自分が(仕事で)で使うことはないかと思うが、
自作プログラムでも変換してみますか。

C++初心者のためのBoost.MPL入門
C++初心者のためのBoost.MPL入門: @suibaka

高校生ですごいなってのが一番の感想。
Boost をほとんど使ったことなく、当然 MPL も知らないので、参考になりました。
ただ、ちょっと説明が分かりにくかったかなぁ。

boost::multiprecisionと適応型無誤差演算
boost::multiprecisionと適応型無誤差演算: @oniprog

これまた自分とは関わりの薄い分野でしたが、勉強になりました。
無誤差演算がこの先いつか必要になるかもしれないので覚えておきたいです。

constexpr中3女子テクニック―実践と濫用そしてC++14へ
constexpr中3女子テクニック―実践と濫用そしてC++14へ : @bolero_MURAKAMI

1時間半超…ぶっちぎりの constexpr でした。
長いなぁとは思ってましたが、そんなにオーバーしていたとは(^^
constexpr は使ってみた程度にしかやってないのですが、
C++14 で constexpr の制限も緩くなるので、楽しみです。

iutest でも新しい C++ の機能は積極的に取り込んでいるので、
constexpr でも何かできないかなぁと考えてます。
まぁ、14 も 1y も気になりますが、個人的には VC++ が気になります。VS2013…

Allocators@C++11
Allocators@C++11: @Cryolite

ネタが満載でとてもおもしろかったですw
以上!

…ではなく、色々なテクニックが紹介されていてとても勉強になりました。
特に、pointer 型のカスタマイズや Scoped Allocator Model が気になりました。

実は一番実践的なセッションだったのではないでしょうか。
しかし、これが C++03 でできないのは残念です。。。

君はまだ、本当のプリプロセスを知らない
君はまだ、本当のプリプロセスを知らない: @decimalbloat

去年の Boost.勉強会 #8 大阪 ではついていくのがやっとな感じでしたが、
去年のスライドを読み、 魔クロ 力を上げたおかげか、
今回は話がちゃんと理解できました。

私の魔クロ力はともかく、今回はとても分かりやすい発表だったと思います。
ちょっと難しいなぁと思った方は、こちらのスライドを合わせて読むことをオススメします。
[Boost.勉強会 #8 大阪 - プリプロセッサこわい]

C++コミュニティを作る
C++コミュニティを作る: @cpp_akira

最後は @cpp_akira 氏のセッション。
今まで Twitter やブログ経由でしか知らない、よく分からないけどスゴイ人という認識でしたが、
今回のお話でどのような経歴を経て、どのような考え方を持っているのか分かり、改めてスゴイ人だなと思いました。

今の自分にできること
とりあえず、できるところからということで、Google Test の Google Group に「[gtest] ASSERT_* マクロで void 以外を return できるようにする」のバッチを送ってみました。
(送ってみたけど反応なくて、チンプンカンなことしてないかとても不安…)

また、このブログは週1回は更新していますので、こちらは継続していきたいです。

最後に
今回も充実した一日でした!
(遠方の会場だと厳しいですが)また、Boost.勉強会に参加したいです。

2013年6月28日金曜日

[gtest] Visual Studio 2013 Preview で Google Test を使う

Visual Studio 2013 Preview が公開されました!
さっそくインストールして使ってみました。

気になる C++11 対応は Visual C++ Compiler November 2012 CTP + α といった感じのようです。
その辺はこちらを参照してください。

Google Test をビルドしてみた
さて、表題の件ですが、
VS2013 Preview で Google Test を使う場合、特にすることはありません!
プロジェクトの変換をして、ビルドするだけです。

Visual Studio 2012 で Google Test を使う
Visual Sutido 2012 のときには _VARIADIC_MAX を定義する必要がありましたが、
VS2013 Preview では、_VARIADIC_MAX の定義は不要になりました!!

標準ライブラリの C++11 対応が進んだようで、これは嬉しいですね。

以上です。(Boost.勉強会参加報告は今週中には書きあげます…)

2013年6月21日金曜日

iutest v1.6.0 をリリースしました

iutest v1.6.0 をリリースしました。

今回の変更点は以下のとおりです。
  • stream result 対応
  • gtest モードで AssertionReturn が使えるように対応
  • :iutest::RandomGenerator を追加
  • ASSERT_*, EXPECT_*, INFORM_* マクロのストリームに iomanip が使用できなかった問題を修正
  • --iutest_filter にマッチしたテスト数が取得できるように修正
  • XML 出力の skipped にメッセージを出力するように修正
  • ::iutest::RandomValues で乱数シードを指定できるように修正
  • AssertionReturn の仕様変更
  • spi で TestPartResult 数をチェックするように変更
  • spi で substr でメッセージをチェックするように変更
  • --iutest_filter でマッチしなかったテストは XML に出力しないように変更
  • デフォルトログ出力を --iutest_filter の結果を考慮した出力に変更

stream result 対応
gtest 相当の stream result が使用できるようになりました。
socket 通信を利用して外部に結果を送れるようになります。

乱数パラメータ生成周りの修正
乱数パラメータ生成をより使いやすく修正をしました。

AssertionReturn の gtest モードサポート
AssertionReturn を gtest モードでも使用できるようにしました。
それに合わせて、AssertionReturn を template クラスから template 関数に変更しました。

gtest 対応
gtest 1.7.0 が出そうなので、それに関する動作変更を行いました。

不具合修正
iomanip や spi マクロの不具合修正をしました。

次回更新予定
Google Test 1.7.0 がリリースされた頃に更新したいですね。