型安全printf
LTDD 2
2014/04/05
@minamiyama1994
自己紹介
● 省略
● 口頭で
概要
● 「型安全printf」に関して
実装方法
● sprout::basic_stringを用いてコンパイル時定数
としてformat文字列を取得します
● SPROUT_TYPES_STRING_TYPEDEFを
使ってformat文字列を型に変換します
● variadic ...
例
● TSP_PRINTF("%% %c %s %d %f Hello!
TSP!n",'e',"piyo",1,0.25)
○ “%% e piyo 1 0.25 Hello! TSP!”
● TSP_PRINTF("%fn”,"hoge"...
ポイント
● sprout::basic_stringを使う
○ →コンパイル時に文字列操作を行える
● 文字列を型に変換する
● 可変長引数と付き合わせる
● 現在char,int,double,char[N]に対応しています
● 将来的にはユーザ定義型に対して自由に拡張
できるように……とか
● リポジトリはType-safe-printfです
現状、そしてこれから
時間があれば質疑応答に入ります
ご清聴
ありがとうございました
Upcoming SlideShare
Loading in...5
×

型安全Printf作ってみた

380

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
380
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

型安全Printf作ってみた

  1. 1. 型安全printf LTDD 2 2014/04/05 @minamiyama1994
  2. 2. 自己紹介 ● 省略 ● 口頭で
  3. 3. 概要 ● 「型安全printf」に関して
  4. 4. 実装方法 ● sprout::basic_stringを用いてコンパイル時定数 としてformat文字列を取得します ● SPROUT_TYPES_STRING_TYPEDEFを 使ってformat文字列を型に変換します ● variadic templateを用いて得られた可変長引 数と突き合わせます ● 以上
  5. 5. 例 ● TSP_PRINTF("%% %c %s %d %f Hello! TSP!n",'e',"piyo",1,0.25) ○ “%% e piyo 1 0.25 Hello! TSP!” ● TSP_PRINTF("%fn”,"hoge") ○ コンパイルエラー
  6. 6. ポイント ● sprout::basic_stringを使う ○ →コンパイル時に文字列操作を行える ● 文字列を型に変換する ● 可変長引数と付き合わせる
  7. 7. ● 現在char,int,double,char[N]に対応しています ● 将来的にはユーザ定義型に対して自由に拡張 できるように……とか ● リポジトリはType-safe-printfです 現状、そしてこれから
  8. 8. 時間があれば質疑応答に入ります ご清聴 ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×