Class | DL::CUnionEntity |
In: |
dl/lib/dl/struct.rb
|
Parent: | CStructEntity |
# File dl/lib/dl/struct.rb, line 166 def CUnionEntity.malloc(types, func=nil) addr = DL.malloc(CUnionEntity.size(types)) CUnionEntity.new(addr, types, func) end
# File dl/lib/dl/struct.rb, line 171 def CUnionEntity.size(types) size = 0 types.each_with_index{|t,i| if( t.is_a?(Array) ) tsize = PackInfo::SIZE_MAP[t[0]] * t[1] else tsize = PackInfo::SIZE_MAP[t] end if( tsize > size ) size = tsize end } end