mirror of
https://github.com/cuberite/SQLiteCpp.git
synced 2025-08-04 17:56:13 -04:00
Added a copy constructor that increments the reference counter, thanks to a patch from Mark P.
This commit is contained in:
parent
0055fcc2db
commit
554a79b64d
@ -26,6 +26,18 @@ Column::Column(sqlite3* apSQLite, sqlite3_stmt* apStmt, unsigned int* apStmtRefC
|
||||
(*mpStmtRefCount)++;
|
||||
}
|
||||
|
||||
// Copy constructor
|
||||
Column::Column(const Column& copy) throw() : // nothrow
|
||||
mpSQLite (copy.mpSQLite),
|
||||
mpStmt (copy.mpStmt),
|
||||
mpStmtRefCount (copy.mpStmtRefCount),
|
||||
mIndex (copy.mIndex)
|
||||
{
|
||||
// Increment the reference counter of the sqlite3_stmt,
|
||||
// telling the Statement object not to finalize the sqlite3_stmt during the lifetime of this Column objet
|
||||
(*mpStmtRefCount)++;
|
||||
}
|
||||
|
||||
// Finalize and unregister the SQL query from the SQLite Database Connection.
|
||||
Column::~Column(void) throw() // nothrow
|
||||
{
|
||||
|
@ -30,9 +30,12 @@ public:
|
||||
* @brief Compile and register the SQL query for the provided SQLite Database Connection
|
||||
*/
|
||||
explicit Column(sqlite3* apSQLite, sqlite3_stmt* apStmt, unsigned int* apStmtRefCount, int aIndex) throw(); // nothrow
|
||||
/// Basic destructor
|
||||
/// Simple destructor
|
||||
virtual ~Column(void) throw(); // nothrow
|
||||
|
||||
/// @brief copy constructor : only way to copy a valid instance
|
||||
Column(const Column& aOther) throw(); // nothrow
|
||||
|
||||
/// Return the integer value of the column.
|
||||
int getInt (void) const throw();
|
||||
/// Return the 64bits integer value of the column.
|
||||
@ -78,9 +81,9 @@ public:
|
||||
#endif
|
||||
|
||||
private:
|
||||
// Column is copyable, but copy should not be used elsewhere than in return form getColumn
|
||||
// Forbid default constructor and assignment operator (no implementation)
|
||||
// so that there is no way of having a Column instance not initialized
|
||||
Column(void);
|
||||
// TODO Column(const Column&);
|
||||
Column& operator=(const Column&);
|
||||
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user