Class: AtCoderFriends::Generator::CxxBuiltin
- Includes:
- CxxBuiltinConstGen, CxxBuiltinDeclGen, CxxBuiltinInputGen
- Defined in:
- lib/at_coder_friends/generator/cxx_builtin.rb
Overview
generates C++ source from problem description
Constant Summary collapse
- ACF_HOME =
File.realpath(File.join(__dir__, '..', '..', '..'))
- TMPL_DIR =
File.join(ACF_HOME, 'templates')
- DEFAULT_TMPL =
File.join(TMPL_DIR, 'cxx_builtin.cxx.erb')
- ATTRS =
Attributes.new(:cxx, DEFAULT_TMPL)
Constants included from CxxBuiltinInputGen
AtCoderFriends::Generator::CxxBuiltinInputGen::ADDR_FMTS, AtCoderFriends::Generator::CxxBuiltinInputGen::ARRAY_ADDR_FMTS, AtCoderFriends::Generator::CxxBuiltinInputGen::FMT_FMTS, AtCoderFriends::Generator::CxxBuiltinInputGen::MATRIX_ADDR_FMTS, AtCoderFriends::Generator::CxxBuiltinInputGen::SCANF_FMTS, AtCoderFriends::Generator::CxxBuiltinInputGen::SCANF_FMTS_CMB, AtCoderFriends::Generator::CxxBuiltinInputGen::SINGLE_ADDR_FMTS
Constants included from CxxBuiltinDeclGen
AtCoderFriends::Generator::CxxBuiltinDeclGen::TYPE_TBL
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #attrs ⇒ Object
- #gen_consts(constants = pbm.constants) ⇒ Object
- #gen_decls(inpdefs = pbm.formats) ⇒ Object
- #gen_inputs(inpdefs = pbm.formats) ⇒ Object
- #render(src) ⇒ Object
Methods included from CxxBuiltinInputGen
#gen_cmb_input, #gen_input, #gen_plain_input, #scanf_addr, #scanf_fmt, #scanf_params
Methods included from CxxBuiltinDeclGen
#gen_arr_size, #gen_decl, #gen_harray_decl, #gen_matrix_decl, #gen_single_decl, #gen_varray_decl
Methods included from CxxBuiltinConstGen
Methods inherited from Base
#embed_lines, #generate, #initialize, #process, #select_template
Constructor Details
This class inherits a constructor from AtCoderFriends::Generator::Base
Instance Method Details
#attrs ⇒ Object
234 235 236 |
# File 'lib/at_coder_friends/generator/cxx_builtin.rb', line 234 def attrs ATTRS end |
#gen_consts(constants = pbm.constants) ⇒ Object
245 246 247 |
# File 'lib/at_coder_friends/generator/cxx_builtin.rb', line 245 def gen_consts(constants = pbm.constants) constants.map { |c| gen_const(c) } end |
#gen_decls(inpdefs = pbm.formats) ⇒ Object
249 250 251 |
# File 'lib/at_coder_friends/generator/cxx_builtin.rb', line 249 def gen_decls(inpdefs = pbm.formats) inpdefs.map { |inpdef| gen_decl(inpdef) }.flatten end |
#gen_inputs(inpdefs = pbm.formats) ⇒ Object
253 254 255 |
# File 'lib/at_coder_friends/generator/cxx_builtin.rb', line 253 def gen_inputs(inpdefs = pbm.formats) inpdefs.map { |inpdef| gen_input(inpdef) }.flatten end |
#render(src) ⇒ Object
238 239 240 241 242 243 |
# File 'lib/at_coder_friends/generator/cxx_builtin.rb', line 238 def render(src) src = (src, '/*** CONSTS ***/', gen_consts) src = (src, '/*** DCLS ***/', gen_decls) src = (src, '/*** INPUTS ***/', gen_inputs) src end |