OOFILE provides you with frameworks to easily model databases and integrate your database with typical application frameworks. It is NOT a general persistence mechanism, to attach to any and all c++ classes.
OOFILE uses static c++ definitions to allow you to write clear logic however everything in OOFILE is dynamically defined. This allows us to create OOFILE interfaces on the fly, to existing databases, and leaves scope for DLL and other plug-in versions of OOFILE.
OOFILE uses only c++, with minimal use of macros and no special preprocessor required.
Before venturing into database definitions, let's consider some
operations on a database containing People, Job Histories and Companies.
// print my address
cout << People["Andy Dent"].Address;
// get a separate list (iterator) of people who worked for software companies