This class impements a very simple database system.
A database is a collection of tables, each one being a CSimpleDatabaseTable object. Tables are a rectangular arrrangement of cells, organized as records of fields. There are XML export/import methods in saveAsXML, loadFromXML.
Definition at line 122 of file CSimpleDatabase.h.
#include <mrpt/utils/CSimpleDatabase.h>
Public Member Functions | |
CSimpleDatabase () | |
Default constructor. | |
virtual | ~CSimpleDatabase () |
Destructor. | |
void | clear () |
Clears the DB. | |
CSimpleDatabaseTablePtr | createTable (const std::string &name) |
Creates a new table in the DB, initially empty. | |
CSimpleDatabaseTablePtr | getTable (const std::string &tableName) |
Returns the table with the indicated name. | |
void | dropTable (const std::string &tableName) |
Deletes the given table. | |
void | renameTable (const std::string &tableName, const std::string &newTableName) |
Changes the name of a given table. | |
CSimpleDatabaseTablePtr | getTable (size_t tableIndex) |
Returns the table by index. | |
size_t | tablesCount () const |
Returns the tables count in the DB. | |
std::string | tablesName (size_t tableIndex) const |
Returns the tables names in the DB. | |
bool | saveAsXML (const std::string &fileName) const |
Saves this database as a XML file. | |
bool | loadFromXML (const std::string &fileName) |
Loads the content of this database from a a XML file. | |
Protected Member Functions | |
CSerializable virtual methods | |
void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE |
void | readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE |
Private Types | |
typedef std::map< std::string, CSimpleDatabaseTablePtr > | TTableList |
The tables of the DB indexed by their names: | |
typedef std::map< std::string, CSimpleDatabaseTablePtr >::iterator | iterator |
typedef std::map< std::string, CSimpleDatabaseTablePtr >::const_iterator | const_iterator |
Private Attributes | |
TTableList | m_tables |
RTTI stuff <br> | |
typedef CSimpleDatabasePtr | SmartPtr |
static mrpt::utils::CLASSINIT | _init_CSimpleDatabase |
static mrpt::utils::TRuntimeClassId | classCSimpleDatabase |
static const mrpt::utils::TRuntimeClassId * | classinfo |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const MRPT_OVERRIDE |
virtual mrpt::utils::CObject * | duplicate () const MRPT_OVERRIDE |
static mrpt::utils::CObject * | CreateObject () |
static CSimpleDatabasePtr | Create () |
|
private |
Definition at line 193 of file CSimpleDatabase.h.
|
private |
Definition at line 192 of file CSimpleDatabase.h.
A typedef for the associated smart pointer
Definition at line 125 of file CSimpleDatabase.h.
|
private |
The tables of the DB indexed by their names:
Definition at line 191 of file CSimpleDatabase.h.
mrpt::utils::CSimpleDatabase::CSimpleDatabase | ( | ) |
Default constructor.
|
virtual |
Destructor.
|
staticprotected |
void mrpt::utils::CSimpleDatabase::clear | ( | ) |
Clears the DB.
|
static |
|
static |
CSimpleDatabaseTablePtr mrpt::utils::CSimpleDatabase::createTable | ( | const std::string & | name | ) |
Creates a new table in the DB, initially empty.
References mrpt::utils::CSimpleDatabaseTablePtr.
void mrpt::utils::CSimpleDatabase::dropTable | ( | const std::string & | tableName | ) |
Deletes the given table.
std::exception | On table not found. |
|
virtual |
|
virtual |
CSimpleDatabaseTablePtr mrpt::utils::CSimpleDatabase::getTable | ( | const std::string & | tableName | ) |
Returns the table with the indicated name.
std::exception | On table not found. |
References mrpt::utils::CSimpleDatabaseTablePtr.
CSimpleDatabaseTablePtr mrpt::utils::CSimpleDatabase::getTable | ( | size_t | tableIndex | ) |
Returns the table by index.
std::exception | On index out of bounds |
References mrpt::utils::CSimpleDatabaseTablePtr.
bool mrpt::utils::CSimpleDatabase::loadFromXML | ( | const std::string & | fileName | ) |
Loads the content of this database from a a XML file.
|
protected |
void mrpt::utils::CSimpleDatabase::renameTable | ( | const std::string & | tableName, |
const std::string & | newTableName | ||
) |
Changes the name of a given table.
std::exception | On table not found or new name already existed. |
bool mrpt::utils::CSimpleDatabase::saveAsXML | ( | const std::string & | fileName | ) | const |
Saves this database as a XML file.
size_t mrpt::utils::CSimpleDatabase::tablesCount | ( | ) | const |
Returns the tables count in the DB.
std::string mrpt::utils::CSimpleDatabase::tablesName | ( | size_t | tableIndex | ) | const |
Returns the tables names in the DB.
std::exception | On index out of bounds |
|
protected |
|
staticprotected |
Definition at line 125 of file CSimpleDatabase.h.
|
static |
Definition at line 125 of file CSimpleDatabase.h.
|
static |
Definition at line 125 of file CSimpleDatabase.h.
|
private |
Definition at line 195 of file CSimpleDatabase.h.
Page generated by Doxygen 1.9.6 for MRPT 1.4.0 SVN: at Wed Mar 22 06:08:57 UTC 2023 |