M-FalconSkyの日記: べたーC その2
日記 by
M-FalconSky
2.boolとenum、union
enumについては、タイプセーフenum+アルファ
ただ、これは言語が決めるライブラリ仕様とかを使う感じかな
boolは
enum suite = {dia,spade,club,heart};
bool
bool<3> // 定数をどうすべきかはアイディアはない
bool<suite>
けっこう3値boolとかほしくなるので...ただ4以上とかどうすべきとかは今一アイディアはない
でも、true/false/undefinedみたいなのは使いたくなるんだよね
unionは言語側サポートで、はいってる値の型が判別できるタイプとかあるといいんだけど
union<32,big_endian> {
int<> a;
...
}
いままでと同じ、構造体メンバとして生データが複数解釈できるフィールド用
実データに合せるときはbit長明記が必要、エンディアンネスもかな?、これはメンバ内のものが対応できていればいいか?(中のintは自動推論)
union {
int a;
...
}
サイズ不定で、入れたデータにあわせる
プロパティ
.byte_array // 生データを当てる/取る
.set_type<メンバ名> // 生データから直当てしたときに型を明確にする
.get_type // setした型が取れる
.bit_length
...
一度セットしてあるなら、再セットするまでの間について静的/動的に型チェックがなされる
べたーC その2 More ログイン