Ebase C++ Library Overview
Ebase is a portable, lightweight, and flexible C++ library that provides
reliable persistent data storage. Data are organized in a table format
with rows(called records) and columns(called fields).
Aspects of ebase :
-
C++ interface. Check out the
on-line API document.
-
Ebase is implemented as a library, which can be either statically or dynamically
linked with applications.
-
Persistent data are organized by fields (columns) and records (rows)
-
Fields are typed (32-bit integers, ascii strings, etc.)
-
Records are indexed; each index represents a particular sorting order
of the records
-
There is a default index. There can be arbitrary number of indices.
-
Search functionality is provided as an add-on module. User can add
their search modules.
-
All persistent data are stored in one file
-
Ebase is tested under MS VC++ 6.0, gmake/gcc with Cygwin 20 beta, and gmake/gcc
under Linux and Solaris.
Advantages of ebase include :
-
Robust error detection and handling
-
Small footprint and fast execution
-
Ultra-portable (based on C file interface)
-
Flexible data driver mechanism - supports arbitrary data types (e.g., image
or audio data)
-
Flexible index driver mechanism - supports indexing over arbitrary data
types and over arbitrary number of fields
Because of the advantages (and limitations too), ebase is very suitable
for portable, small persistent data storage, such as those found by PIM
(personal information management) applications, web databases (for login,
equipment tracking), and small database applications (system registry,
etc.). Its small footprint and robust error handling make it ideal
for applications running on embedded systems such as PDAs.
Ebase library uses C++ exception throw/catch mechanism to report a)application
programming errors, 2) insufficient resources and 3) non-recoverable media
errors. It thus requires the compiler and the run-time environment
to support C++ exception handling mechanism. |