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
+29-19Lines changed: 29 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,48 @@
1
1
ObjectBox C and C++ APIs
2
2
========================
3
-
[ObjectBox](https://objectbox.io) is a superfast database for objects.
3
+
[ObjectBox](https://objectbox.io) is a superfast database and data synchronization solution.
4
4
This is the **ObjectBox runtime library** to run ObjectBox as an embedded database in your C or C++ application.
5
5
6
-
**Latest version: 0.12.0** (2021-02-05).
7
-
See [changelog](CHANGELOG.md) for more details.
8
-
9
-
In most cases you want to use the C and C++ APIs in combination with the **[ObjectBox Generator](https://github.com/objectbox/objectbox-generator) tool**.
10
-
This way, you get a convenient C or C++ API which requires minimal code on your side to work with the database.
11
-
12
-
Here's a C++ code example that inserts a `Task` data object into the database:
6
+
Here's a C++ example that inserts a `Task` data object (a plain user defined `struct`) into the database:
13
7
```c++
14
8
obx::Box<Task> box(store);
15
9
box.put({.text = "Buy milk"});
16
10
```
17
11
18
-
Note: `Task` is a `struct` representing a user defined data model - see [ObjectBox C and C++ docs](https://cpp.objectbox.io/) for details.
12
+
See [ObjectBox C and C++ docs](https://cpp.objectbox.io/) for API details.
19
13
20
-
Some features
21
-
-------------
22
-
* ACID compliant object storage ("object" as in class/struct instances)
23
-
* Direct support for [FlatBuffers](https://google.github.io/flatbuffers/) data objects (aka "flatbuffers table")
14
+
**Latest version: 0.12.0** (2021-02-05).
15
+
See [changelog](CHANGELOG.md) for more details.
16
+
17
+
Feature Highlights
18
+
------------------
19
+
🏁 **High performance:** improving response rates and enabling real-time applications.\
📃 **Automatic schema migrations:** no update scripts needed.\
27
+
👥 **[ObjectBox Sync](https://objectbox.io/sync/):** keeps data in sync between devices and servers.\
28
+
🕒 **[ObjectBox TS](https://objectbox.io/time-series-database/):** time series extension for time based data.
29
+
30
+
And some more technical details:
31
+
32
+
* Zero-copy reads for highest possible performance; access tens of millions of objects on commodity hardware
24
33
* Lightweight for smart devices; its binary size is only around 1 MB
25
34
(special feature reduced versions with 1/3 - 1/2 size are available on request)
26
-
* Zero-copy reads for highest possible performance; access tens of millions of objects on commodity hardware
35
+
* Direct support for [FlatBuffers](https://google.github.io/flatbuffers/) data objects (aka "flatbuffers table")
27
36
* Secondary indexes based on object properties
28
37
* Async API for asynchronous puts, inserts, updates, removes
29
-
* Automatic model migration (no schema upgrade scripts etc.)
30
-
* Powerful queries
31
-
* Relations to other objects (1:N and M:N)
32
38
* Optimized Time series types (TS edition only)
33
39
* Data synchronization across the network (sync edition only)
34
40
35
41
Usage and Installation
36
42
----------------------
43
+
In most cases you want to use the C and C++ APIs in combination with the **[ObjectBox Generator](https://github.com/objectbox/objectbox-generator) tool**.
44
+
This way, you get a convenient C or C++ API which requires minimal code on your side to work with the database.
45
+
37
46
The APIs come as single header file for C and C++:
38
47
39
48
* C: [include/objectbox.h](include/objectbox.h)
@@ -79,7 +88,8 @@ Besides new features, there may be breaking changes requiring modifications to y
79
88
### Supported platforms:
80
89
* Linux 64-bit
81
90
* Linux ARMv6hf (e.g. Raspberry PI Zero)
82
-
* Linux ARMv7hf (e.g. Raspberry PI 3 and higher)
91
+
* Linux ARMv7hf (e.g. Raspberry PI 3/4)
92
+
* Linux ARMv8/AArch64 (e.g. Raspberry PI 3/4 with an 64 bit OS like Ubuntu)
83
93
* MacOS 64-bit
84
94
* Windows 32-bit
85
95
* Windows 64-bit
@@ -93,7 +103,7 @@ For the C API, data consists of bytes representing FlatBuffers tables, which you
93
103
94
104
License
95
105
-------
96
-
Copyright 2018-2020 ObjectBox Ltd. All rights reserved.
106
+
Copyright 2018-2021 ObjectBox Ltd. All rights reserved.
97
107
98
108
Licensed under the Apache License, Version 2.0 (the "License");
99
109
you may not use this file except in compliance with the License.
0 commit comments