{"id":19854235,"url":"https://github.com/georgetdn/syscppcplinux","last_synced_at":"2026-02-12T01:08:17.958Z","repository":{"id":260977234,"uuid":"880916060","full_name":"georgetdn/SYSCPPCPlinux","owner":"georgetdn","description":"Store Linux C++ class data in a file ( persistence ) and manipulate it programmatically or using Small SQL (included)","archived":false,"fork":false,"pushed_at":"2024-11-08T16:43:37.000Z","size":717,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T13:46:50.654Z","etag":null,"topics":["class","data","framework","linux","object","persistence","serialize","sql"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/georgetdn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-30T15:39:10.000Z","updated_at":"2024-12-01T17:17:06.000Z","dependencies_parsed_at":"2024-11-04T02:17:22.640Z","dependency_job_id":"95cc693c-c9c1-4438-bad0-a0e8f29920fc","html_url":"https://github.com/georgetdn/SYSCPPCPlinux","commit_stats":null,"previous_names":["georgetdn/syscppcplinux"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgetdn%2FSYSCPPCPlinux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgetdn%2FSYSCPPCPlinux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgetdn%2FSYSCPPCPlinux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgetdn%2FSYSCPPCPlinux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/georgetdn","download_url":"https://codeload.github.com/georgetdn/SYSCPPCPlinux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241244365,"owners_count":19933289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["class","data","framework","linux","object","persistence","serialize","sql"],"created_at":"2024-11-12T14:09:00.136Z","updated_at":"2026-02-12T01:08:12.937Z","avatar_url":"https://github.com/georgetdn.png","language":"C++","readme":"___THIS CODE WAS MERGED INTO  https://github.com/georgetdn/SYSCPPCP___\n# SYSCPPCP #\n## Simple Yet Sophisticated C++ Class Persistence or SYSCPPCP ##  \nStore C++ class data in a file and manipulate it programmatically or using SmallSQL(included)  \n## Requirements:\nLinux 64 bits (tested on Ubuntu), g++-14, version 14.2.0 compiler, GNU Readline library (installed automatically), 'sudo' for user running the install. Follow the link for [Windows version](https://github.com/georgetdn/SYSCPPCP)\n## Installing  \nTo install and build the framework and SmallSQL application clone the project go to SYSCPPCP directory in a Bash shell and execute the ./build. You will be prompted to enter your password for sudo to install the GNU Readline library. The build will take about five minutes\nThis process will build a framework based on the sample templates from _\\SYSCPPCP\\SYSCPPCPcodeGenrtators\\templates_ .\nWhen you develop your application you will create a set of templates defining the classes in your application, build the framework and add code specific to your application.  More on this later.\n  \n## Getting familiar with the framework ##  \nThe best way to familiarize yourself with the framework is to execute the sample applications.\nIn Windows Explorer go to _\\SYSCPPCP\\SYSCPPCPtest\\QuickStart_ and start _QuickStart.vcxproj_\nStep through the code in debug mode.  You should be able to get an understanding of what actions you can perform.\n\nNext, open a command prompt or power shell window and go to _SYSCPPCP\\SmallSQL\\releae and type_  __smallsql ../../syscppcp.dat__ (__./smallsql ../../syscppcp.dat__ for PS)  \nYou should get a SmallSQL prompt  \nType __cls__ to clean the screen  \nType SmallSQL\u003e __select classes from dual__\n```\n    Classes(Tables)\n    ===============\n    Cat\n    Child\n    Customer\n    Dog\n    Family\n    Invoice\n    Item\n    Person\n```\nThis is a list the classes created during build based on the sample templates.  For each class a header _\\SYSCPPCP\\SYSCPPCPheaders_, a source file in _\\SYSCPPCP\\SYSCPPCPSource_, a project file in _\\SYSCPPCP\\SYSCPPCPvcxproj_ and a static library in _\\SYSCPPCP\\SYSCPPCPlibs_.  You will need them to build your application.\nType SmallSQL\u003e __desc Customer__  \n```\nEnumerations\n===========\n  enum Type\n   {\n    Retail,\n    WholeSale,\n    OneTime\n   };\n\nStructures\n========\nstruct Name\n{\n    char First[20];\n    char Last [20];\n};\nVariables(columns)\n==================\n   int ID;\n   Name name;\n   char Address1 [41];\n   char Address2 [21];\n   char City  [21];\n   char State  [3];\n   char Zip [6];\n   Type type ;\n```\nYou will get the data members of the class - Variables(columns) -  an enumeration and structure declarations used to declare the variables 'type' and 'name'.\nTry SmallSQL\u003e __select * from Cat__\nYou will get a listing of all records of type Cat stored (serialized) to the database. The database file is _\\SYSCPPCP\\syscppcp.dat_.\nTry\nSmallSQL\u003e __select name.First, name.Last from customer__  \nSyntax Error: Table 'customer' does not exist.  \nYou get an error because class (table) names and variable(columns) names are case sensitive.  \nThe correct statement is   \n__select name.First, name.Last from Customer__  \nNotice that the column names are variable names as you would use them in a program.  \nname is declared as a structure  \n```\nName {\n      char  First[20; \n      char Last [20];\n    };\n```\nYou can also try  \n__select name.First, name.Last from Customer where State = NY and City = \"New York\"__  \nNotice that only strings containing spaces need to be enclosed in quotes.  For  numbers and enumerations, no quotes or transformations are needed.\nA few more rules,  \n* Only one class(table) can be used in a query\n* Maximum of five where clauses.\n* Except for arrays of char, no arrays can be used in a query\n* For enumerations you have to use the item name not the associated integer value\n* You are not allowed to change the class variables declarations  \n\nMore examples  \nSmallSQL\u003e __update Customer set name.First = \"Milton\",  name.Last = \"Gimbles\" where ID = 4597__  \nSmallSQL\u003e __delete from Customer where type = OneTime__  \nTo exit type __bye__ or __exit__\n__Note__: In your applications, as long as you don't change the generated code, you can declare other variables and functions.  The newly declared variables will not be stored in the database.\nIf you need more help read the tutorials.  You can also email me at george@tdnsys.com\n\n\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgetdn%2Fsyscppcplinux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgetdn%2Fsyscppcplinux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgetdn%2Fsyscppcplinux/lists"}