ObjectBox C and C++ API  4.0.3
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Nobx
 CSyncCredentials
 CSyncClientLoginListenerListens to login events on a sync client
 CSyncClientConnectionListenerListens to sync client connection events
 CSyncClientCompletionListenerListens to sync complete event on a sync client
 CSyncClientErrorListenerListens to sync error event on a sync client
 CSyncClientTimeListenerList
 CSyncChangeA collection of changes made to one entity type during a sync transaction. Delivered via SyncClientChangeListener. IDs of changed objects are available via puts and those of removed objects via removals
 CSyncChangeListenerNotifies of fine granular changes on the object level happening during sync
 CSyncClientListenerListens to all possible sync events. See each base abstract class for detailed information
 CSyncObjectsMessageListener
 CSyncObjectsMessageBuilderStart here to prepare an 'objects message'. You must add at least one object and then you can send the message using SyncClient::send() or SyncServer::send()
 CSyncClientSync client is used to provide ObjectBox Sync client capabilities to your application
 CSyncObjectBox Sync makes data available on other devices. Start building a sync client using client() and connect to a remote server
 CSyncServerThe ObjectBox Sync Server to run within your application (embedded server). Note that you need a special sync edition, which includes the server components. Check https://objectbox.io/sync/
 CCustomMsgClientDelegateA helper class that delegates C style function pointers to C++ class method invocations via user data. Also, it provides makeFunctions() and registerProtocol()
 CAbstractCustomMsgClientTypically used together with CustomMsgClientDelegate e.g. to ensure a matching interface. Subclasses represent a custom client
 CCustomMsgServerDelegateA helper class that delegates C style function pointers to C++ class method invocations via user data. Also, it provides makeFunctions() and registerProtocol()
 CAbstractCustomMsgConnectionTypically used together with CustomMsgServerDelegate e.g. to ensure a matching interface. Subclasses represent a connection of a custom server
 CCustomMsgConnectionDelegateUsed internally to decouple the lifetime of the user connection object from the one "managed" (created/deleted) by AbstractCustomMsgServer/CustomMsgServerDelegate. This way, the user connection can be clear at any time
 CAbstractCustomMsgServerTypically used together with CustomMsgServerDelegate e.g. to ensure a matching interface. Subclasses represent a custom server
 CExceptionBase class for ObjectBox related exceptions. Note that there are currently 3 main sub types: IllegalArgumentException, IllegalStateException, and, for all other error types, DbException
 CIllegalArgumentExceptionThrown when the passed arguments are illegal
 CIllegalStateExceptionThrown when a request does not make sense in the current state. For example, doing actions on a closed object
 CMaxDataSizeExceededExceptionThrown when a transaction is about to commit but it would exceed the user-defined data size limit. See obx_opt_max_data_size_in_kb() for details
 CShuttingDownExceptionThe operation on a resource (typically a Store) failed because the resources is in process of being shut down or already has shutdown. For example, calling methods on the Store will throw this exception after Store::close()
 CDbExceptionDatabase related exception, containing a error code to differentiate between various errors. Note: what() typically contains a specific text about the error condition (sometimes helpful to resolve the issue)
 CFeatureNotAvailableExceptionA functionality was invoked that is not part in this edition of ObjectBox
 CBytesLazyBytes, which must be resolved "lazily" via get() and released via this object (destructor). Unlike void* style bytes, this may represent allocated resources and/or bytes that are only produced on demand
 CBoxA Box offers database operations for objects of a specific type
 CAsyncBoxAsyncBox provides asynchronous ("happening on the background") database manipulation
 CClosable
 COptionsOptions provide a way to configure Store when opening it. Options functions can be chained, e.g. options.directory("mypath/objectbox").maxDbSizeInKb(2048); Note: Options objects can be used only once to create a store as they are "consumed" during Store creation. Thus, you need to create a new Option object for each Store that is created
 CStoreA ObjectBox store represents a database storing data in a given directory on a local file system
 CTransactionProvides RAII wrapper for an active database transaction on the current thread (do not use across threads). A Transaction object is considered a "top level transaction" if it is the first one on the call stack in the thread. If the thread already has an ongoing Transaction, additional Transaction instances are considered "inner transactions"
 CPropertyTypelessTypeless property used as a base class for other types - sharing common conditions
 CPropertyCarries property information when used in the entity-meta ("underscore") class
 CProperty< EntityT, OBXPropertyType_String >Carries property information when used in the entity-meta ("underscore") class
 CProperty< EntityT, OBXPropertyType_ByteVector >Carries property information when used in the entity-meta ("underscore") class
 CProperty< EntityT, OBXPropertyType_StringVector >Carries property information when used in the entity-meta ("underscore") class
 CProperty< EntityT, OBXPropertyType_FloatVector >Carries property information when used in the entity-meta ("underscore") class
 CRelationPropertyCarries property-based to-one relation information when used in the entity-meta ("underscore") class
 CRelationStandaloneCarries to-many relation information when used in the entity-meta ("underscore") class
 CQueryQuery allows to find data matching user defined criteria for a entity type. Created by QueryBuilder and typically used with supplying a Cursor
 CQueryBuilderBaseA QueryBuilderBase is used to create database queries using an API (no string based query language). Building the queries involves calling functions to add conditions for the query. In the end a Query object is build, which then can be used to actually run the query (potentially multiple times). For generated code, you can also use the templated subclass QueryBuilder instead to have type safety at compile time
 CQueryBuilderSee QueryBuilderBase for general information on query builders; this templated class allows to work with generated entity types conveniently. To specify actual conditions, use obx_qb_*() methods with queryBuilder.cPtr() as the first argument
 CQueryBaseQuery allows to find data matching user defined criteria for a entity type. Created by QueryBuilder and typically used with supplying a Cursor
 CBoxTypelessLike Box, but without template type. Serves as the basis for Box, but can also be used as "lower-level" box with some restrictions on the functionality
 CExpiredObjectsRemoval of expired objects; see OBXPropertyFlags_EXPIRATION_TIME
 CTreeOptionsStructural/behavioral options for a tree passed during tree creation
 CAsyncTreePutResultParameter to AsyncTreePutCallback, which is passed to Tree::putAsync()
 CAsyncTreeGetResult
 CTreeTop level tree API representing a tree structure/schema associated with a store
 CLeavesInfoInformation about a set of leaf nodes that is returned by TreeCursor::getLeavesInfo(). Contains meta data about (data) leaves: full path in the tree, ID, and property type
 CTreeCursorPrimary tree interface against the database. Offers tree path based get/put functionality. Not-thread safe: use a TreeCursor instance from one thread only; i.e. the underlying transaction is bound to a thread
 COBX_bytesThis bytes struct is an input/output wrapper used for a single data object (represented as FlatBuffers)
 COBX_bytes_arrayThis bytes array struct is an input/output wrapper for multiple data objects (represented as FlatBuffers)
 COBX_bytes_scoreThis bytes score struct is an input/output wrapper used for a single data object (represented as FlatBuffers) with its associated query score, which is used for special query results
 COBX_bytes_score_arrayThis bytes score array struct is an input/output wrapper pointing to multiple OBX_bytes_score instances. If count is zero, bytes_scores is allowed to be invalid
 COBX_custom_msg_client_functionsStruct of the custom client function callbacks. In order to implement the custom client, you must provide custom methods for each of the members of this struct. This is then passed to obx_custom_msg_client_register() to register the custom client
 COBX_custom_msg_server_functionsStruct of the custom server function callbacks. In order to implement the custom server, you must provide custom methods for each of the members of this struct. This is then passed to obx_custom_msg_server_register() to register the custom server
 COBX_double_arrayDouble array struct is an input/output wrapper for an array of double precision floating point numbers
 COBX_float_arrayFloat array struct is an input/output wrapper for an array of single precision floating point numbers
 COBX_id_arrayID array struct is an input/output wrapper for an array of object IDs
 COBX_id_scoreObject ID with its associated query score, which is used for special query results
 COBX_id_score_arrayID score array struct is an input/output wrapper for an array of OBX_id_score structs. If count is zero, bytes_scores is allowed to be invalid
 COBX_int16_arrayInt16 array struct is an input/output wrapper for an array of int16 numbers
 COBX_int32_arrayInt32 array struct is an input/output wrapper for an array of int32 numbers
 COBX_int64_arrayInt64 array struct is an input/output wrapper for an array of int64 numbers
 COBX_int8_arrayInt8 array struct is an input/output wrapper for an array of int8 numbers
 COBX_string_arrayString array struct is an input/output wrapper for an array of character strings
 COBX_sync_change
 COBX_sync_change_array
 COBX_sync_msg_objectsIncubating message that carries multiple data "objects" (e.g. FlatBuffers, strings, raw bytes). Interpretation is up to the application. Does not involve any persistence or delivery guarantees at the moment
 COBX_sync_objectA single data object contained in a OBX_sync_msg_objects message