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.8 for MRPT 1.4.0 SVN: at Thu Dec 14 16:54:58 UTC 2023 |