Class: Fiddle::CStruct
- Inherits:
-
Object
- Object
- Fiddle::CStruct
- Includes:
- Enumerable
- Defined in:
- lib/fiddle/struct.rb
Overview
A base class for objects representing a C structure
Class Method Summary collapse
-
.entity_class ⇒ Object
accessor to Fiddle::CStructEntity.
Instance Method Summary collapse
Class Method Details
.entity_class ⇒ Object
accessor to Fiddle::CStructEntity
12 13 14 |
# File 'lib/fiddle/struct.rb', line 12 def CStruct.entity_class CStructEntity end |
Instance Method Details
#each ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/fiddle/struct.rb', line 16 def each return enum_for(__function__) unless block_given? self.class.members.each do |name,| yield(self[name]) end end |
#each_pair ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/fiddle/struct.rb', line 24 def each_pair return enum_for(__function__) unless block_given? self.class.members.each do |name,| yield(name, self[name]) end end |
#replace(another) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/fiddle/struct.rb', line 40 def replace(another) if another.nil? self.class.members.each do |name,| self[name] = nil end elsif another.respond_to?(:each_pair) another.each_pair do |name, value| self[name] = value end else another.each do |name, value| self[name] = value end end self end |
#to_h ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/fiddle/struct.rb', line 32 def to_h hash = {} each_pair do |name, value| hash[name] = unstruct(value) end hash end |