Log in Page Discussion History Go to the site toolbox


From Projects

Relational Object Mapping In C++



Romic is a library which provides a simple interface to perform database operations and to map data between database columns and class members/accessors.

Developers define a classes for each database table they want to access, extending the romic::Table base class which provides the primary database access interface. Clients may then use instances of these classes to retrieve / insert / update / delete records in the db, and perform various other operations.

romic::Table subclasses need to register columns and relationships that are present in the table they represent, as well as satisfy various requirements of the romic::Table interface. To assist in this process, and to reduce errors, libromic provides a 'romic_gen_classes' preprocessor executable to take C++ source files with special macros defining db columns and relationships, and generate the necessary code to interact w/ Romic.

The 'romic_gen_classes' script was designed to be as straightforward as possible, using simple but effective regular expressions, instead of trying to implement a full C++ language parser. 'romic_gen_classes' simply reads your source file, and outputs it in the exact same way, save substituting the romic preprocessor macros with the corresponding necessary code.




Help / Feedback / Patches

romic-users@lists.sourceforge.net (subscribe here)


Git check it out from sourceforge.
 git clone git://romic.git.sourceforge.net/gitroot/romic 

Download source tarball and binary rpms here
(.deb not available yet, feel free to send a patch!)


Romic is licensed under the AGPLv3+ with a linker-friendly-provision


See TODO/FIXMEs in the source code, and the TODO list in the manual, there is plenty there!


Mohammed Morsi - Project founder / lead, mail patches to me!

Site Toolbox:

Personal tools
This page was last modified on 7 November 2009, at 05:39. - This page has been accessed 7,111 times. - Disclaimers - About Projects