In Files

  • fiddle/lib/fiddle/struct.rb

Parent

Included Modules

Fiddle::CStruct

A base class for objects representing a C structure

Public Class Methods

entity_class() click to toggle source

accessor to Fiddle::CStructEntity

 
               # File fiddle/lib/fiddle/struct.rb, line 11
def CStruct.entity_class
  CStructEntity
end
            

Public Instance Methods

each() click to toggle source
 
               # File fiddle/lib/fiddle/struct.rb, line 15
def each
  return enum_for(__function__) unless block_given?

  self.class.members.each do |name,|
    yield(self[name])
  end
end
            
each_pair() click to toggle source
 
               # File fiddle/lib/fiddle/struct.rb, line 23
def each_pair
  return enum_for(__function__) unless block_given?

  self.class.members.each do |name,|
    yield(name, self[name])
  end
end
            
replace(another) click to toggle source
 
               # File fiddle/lib/fiddle/struct.rb, line 39
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() click to toggle source
 
               # File fiddle/lib/fiddle/struct.rb, line 31
def to_h
  hash = {}
  each_pair do |name, value|
    hash[name] = unstruct(value)
  end
  hash
end