ObjectBox C and C++ API  0.12.0
objectbox.hpp File Reference
#include <atomic>
#include <mutex>
#include "flatbuffers/flatbuffers.h"
#include "objectbox.h"
Include dependency graph for objectbox.hpp:

Classes

class  obx::Exception
 
class  obx::Box< EntityT >
 
class  obx::AsyncBox< EntityT >
 AsyncBox provides asynchronous ("happening on the background") database manipulation. More...
 
class  obx::Store
 
class  obx::Store::Options
 
class  obx::Transaction
 Provides 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". More...
 
class  obx::PropertyTypeless< EntityT >
 "Typeless" property used as a base class for other types - sharing common conditions. More...
 
class  obx::Property< EntityT, ValueT >
 Carries property information when used in the entity-meta ("underscore") class. More...
 
class  obx::Property< EntityT, OBXPropertyType_String >
 Carries property information when used in the entity-meta ("underscore") class. More...
 
class  obx::Property< EntityT, OBXPropertyType_ByteVector >
 Carries property information when used in the entity-meta ("underscore") class. More...
 
class  obx::Property< EntityT, OBXPropertyType_StringVector >
 Carries property information when used in the entity-meta ("underscore") class. More...
 
class  obx::RelationProperty< SourceEntityT, TargetEntityT >
 Carries property-based to-one relation information when used in the entity-meta ("underscore") class. More...
 
class  obx::RelationStandalone< SourceEntityT, TargetEntityT >
 Carries to-many relation information when used in the entity-meta ("underscore") class. More...
 
class  obx::Query< EntityT >
 Provides a simple wrapper for OBX_query to simplify memory management - calls obx_query_close() on destruction. To execute the actual methods, use obx_query_*() methods with query.cPtr() as the first argument. Internal note: this is a template because it will provide EntityType-specific methods in the future. More...
 
class  obx::QueryBuilder< EntityT >
 Provides a simple wrapper for OBX_query_builder to simplify memory management - calls obx_qb_close() on destruction. To specify actual conditions, use obx_qb_*() methods with queryBuilder.cPtr() as the first argument. More...
 
class  obx::Query< EntityT >
 Provides a simple wrapper for OBX_query to simplify memory management - calls obx_query_close() on destruction. To execute the actual methods, use obx_query_*() methods with query.cPtr() as the first argument. Internal note: this is a template because it will provide EntityType-specific methods in the future. More...
 
class  obx::Box< EntityT >
 
class  obx::AsyncBox< EntityT >
 AsyncBox provides asynchronous ("happening on the background") database manipulation. More...
 
class  obx::SyncCredentials
 
class  obx::SyncClientLoginListener
 Listens to login events on a sync client. More...
 
class  obx::SyncClientConnectionListener
 Listens to sync client connection events. More...
 
class  obx::SyncClientCompletionListener
 Listens to sync complete event on a sync client. More...
 
struct  obx::SyncChange
 A 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. More...
 
class  obx::SyncClientChangeListener
 Notifies of fine granular changes on the object level happening during sync. More...
 
class  obx::SyncClientListener
 Listens to all possible sync events. See each base abstract class for detailed information. More...
 
class  obx::SyncClient
 Sync client is used to provide ObjectBox Sync client capabilities to your application. More...
 
class  obx::Sync
 ObjectBox Sync makes data available on other devices. Start building a sync client using client() and connect to a remote server. More...
 

Namespaces

 obx
 

Macros

#define OBJECTBOX_VERIFY_ARGUMENT(c)   ((c) ? (void) (0) : throw std::invalid_argument(std::string("Argument validation failed: " #c)))
 
#define OBJECTBOX_VERIFY_STATE(c)   ((c) ? (void) (0) : throw std::runtime_error(std::string("State condition failed: " #c)))
 

Enumerations

enum  obx::TxMode { obx::TxMode::READ, obx::TxMode::WRITE }
 Transactions can be started in read (only) or write mode. More...
 

Macro Definition Documentation

◆ OBJECTBOX_VERIFY_ARGUMENT

#define OBJECTBOX_VERIFY_ARGUMENT (   c)    ((c) ? (void) (0) : throw std::invalid_argument(std::string("Argument validation failed: " #c)))

◆ OBJECTBOX_VERIFY_STATE

#define OBJECTBOX_VERIFY_STATE (   c)    ((c) ? (void) (0) : throw std::runtime_error(std::string("State condition failed: " #c)))

Variable Documentation

◆ items

std::vector<std::unique_ptr<EntityT> > items

◆ op_

◆ propId_