You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-2Lines changed: 18 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,17 @@ However, SQLite is written in C, and even though it exposes a [C++ API](https://
9
9
10
10
This library is inspired by the approach other languages and frameworks take against the problem of data persistence. Specifically, in C# the [Entity Framework](https://en.wikipedia.org/wiki/Entity_Framework) allows the programmer to focus on modelling the domain, while delegating the responsibility of database management, table allocation and naming, member type annotation and naming and so on, to EF. In Swift the feature of [keypaths](https://developer.apple.com/documentation/swift/keypath) allows the programmer to write safe code, which is checked at compile time. Its predecessor Objective-C has used keypaths extensively in the [Core Data](https://developer.apple.com/documentation/coredata) Framework, which is Apple's database management software stack, using primarily SQLite in the background.
11
11
12
+
There are several C++ SQLite ORM libraries out there, however with the following limitations
13
+
* fully detailed exposure of the underlying SQL syntax and database operations
14
+
* API heavily relying on strings, so no compile-time safety can be guaranteed
15
+
* inappropriate license model for closed-source or proprietary software
16
+
12
17
The primary goals of this library are
13
-
*a native C++ API for object persistence, which feels "at home" for C++ programmers
18
+
* native C++ API for object persistence, which feels "at home" for C++ programmers
14
19
* safe code, checked at compile time, without the need to write raw SQL queries
15
20
* automatic record registration for all types used in the program, without any additional setup
16
-
* a safe and easy API for all CRUD (Create, Read, Update, Delete) operations
21
+
* safe and easy to use API for all CRUD (Create, Read, Update, Delete) operations
22
+
* MIT license to use for any kind of software; open source or closed source/commercial.
0 commit comments