method
size
v1_9_3_125 -
Show latest stable
-
0 notes -
Class: CStructEntity
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (38)
- 2_2_9
- 2_4_6
- 2_5_5
- 2_6_3
- What's this?
size(types)
public
Hide source
# File ext/dl/lib/dl/struct.rb, line 55 def CStructEntity.size(types) offset = 0 max_align = 0 types.each_with_index{|t,i| orig_offset = offset if( t.is_a?(Array) ) align = PackInfo::ALIGN_MAP[t[0]] offset = PackInfo.align(orig_offset, align) size = offset - orig_offset offset += (PackInfo::SIZE_MAP[t[0]] * t[1]) else align = PackInfo::ALIGN_MAP[t] offset = PackInfo.align(orig_offset, align) size = offset - orig_offset offset += PackInfo::SIZE_MAP[t] end if (max_align < align) max_align = align end } offset = PackInfo.align(offset, max_align) offset end