Module: Cplus2Ruby

Defined in:
lib/cplus2ruby.rb,
lib/cplus2ruby/model.rb

Defined Under Namespace

Modules: Entity Classes: CodeGenerator, Compiler, CppCodeGenerator, Method, Model, Property, Typing, WrapperCodeGenerator

Class Method Summary collapse

Class Method Details

.<<(code) ⇒ Object

Global code



95
96
97
98
99
# File 'lib/cplus2ruby/model.rb', line 95

def self.<<(code)
  model.code << "\n"
  model.code << code
  model.code << "\n"
end

.add_type_alias(h) ⇒ Object



113
114
115
# File 'lib/cplus2ruby/model.rb', line 113

def self.add_type_alias(h)
  h.each {|from, to| model.typing.alias_entry(from, to)}
end

.compile(*args) ⇒ Object



122
123
124
125
# File 'lib/cplus2ruby/model.rb', line 122

def self.compile(*args)
  self.model.finish!
  Cplus2Ruby::Compiler.new(self.model).compile(*args)
end

.include(header) ⇒ Object



101
102
103
# File 'lib/cplus2ruby/model.rb', line 101

def self.include(header)
  model.includes << header
end

.modelObject



109
110
111
# File 'lib/cplus2ruby/model.rb', line 109

def self.model
  @model ||= Cplus2Ruby::Model.new
end

.settings(h = {}) ⇒ Object



105
106
107
# File 'lib/cplus2ruby/model.rb', line 105

def self.settings(h={})
  model.settings(h)
end

.startup(*args, &block) ⇒ Object



117
118
119
120
# File 'lib/cplus2ruby/model.rb', line 117

def self.startup(*args, &block)
  self.model.finish!
  Cplus2Ruby::Compiler.new(self.model).startup(*args, &block)
end