This is a simple library that provides generation of "class" templates for C.
Main article: https://dmitryfrank.com/articles/oop_in_c
Generate base class Shape
and subclass Circle
:
$ ruby ooc_gen.rb new class shape circle
Generate base class Shape
and two subclasses: Circle
and MyShape
:
$ ruby ooc_gen.rb new class shape circle myshape:MyShape
After either command, the directory shape
containing all generated files will
be created in the current directory.
So that, each class name may be specified as just single lowecased (underscore-separated) word, or as two words separated by colon.
If camelized version isn't provided by user, it is autogenerated, which isn't
always what you want (say, for myshape
autogenerated version is Myshape
.
However, if you provide my_shape
, then it will be converted to MyShape
).
In order to use generated classes, you also need for ooc.c
and ooc.h
, as
well as configuration file ooc_cfg.h
(initially, just copy default one
ooc_cfg_default.h
as ooc_cfg.h
in your project)