method
set_ctypes
v1_9_3_392 -
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?
set_ctypes(types)
public
Hide source
# File ext/dl/lib/dl/struct.rb, line 88 def set_ctypes(types) @ctypes = types @offset = [] offset = 0 max_align = 0 types.each_with_index{|t,i| orig_offset = offset if( t.is_a?(Array) ) align = ALIGN_MAP[t[0]] else align = ALIGN_MAP[t] end offset = PackInfo.align(orig_offset, align) @offset[i] = offset if( t.is_a?(Array) ) offset += (SIZE_MAP[t[0]] * t[1]) else offset += SIZE_MAP[t] end if (max_align < align) max_align = align end } offset = PackInfo.align(offset, max_align) @size = offset end