型の定義を保持するオブジェクトのクラス。
["alias name", "type name", encoding_method, decoding_method, # for function prototypes encoding_method, decoding_method] # for structures (not implemented)
という形式の配列を内部に持ち。エイリアス名と実際の型、エンコーディング、 デコーディングの方法を定義する。DL::Types::TYPES はデフォルトで持って いる定義。
typealias(alias, type, enc, dec, struct_enc, struct_dec)
型定義の追加を行う。インスタンス変数@TYDEFS
の先頭に
[alias, type, enc, dec, struct_end, struct_dec]
の組を追加する。
encode_type(alias)
DLモジュールで用いる型定義とRubyのオブジェクトをDLモジュールで用いるデータへの エンコード用Procオブジェクトと、DLモジュールのデータからRubyオブジェクト へのデコード用のProcオブジェクトの組を次の通りのArrayとして返す。
[ty,enc,dec,senc,sdec] ty : DLでの型指定子 enc : エンコード用Proc dec : デコード用Proc senc : エンコード用Proc(dl/struct.rbで使用) sdec : デコード用Proc(dl/struct.rbで使用)