mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-02-21 20:27:13 +01:00
Implement move semantics on the Sqrat table wrapper.
This commit is contained in:
parent
4eaf365bee
commit
3ca90d0698
@ -66,6 +66,19 @@ public:
|
|||||||
TableBase(const Object& obj) : Object(obj) {
|
TableBase(const Object& obj) : Object(obj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Construct the TableBase from an Object that already exists
|
||||||
|
///
|
||||||
|
/// \param obj An Object that should already represent a Squirrel table
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
TableBase(Object&& obj) : Object(std::move(obj)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
/// Construct the TableBase from a HSQOBJECT and HSQUIRRELVM that already exist
|
/// Construct the TableBase from a HSQOBJECT and HSQUIRRELVM that already exist
|
||||||
///
|
///
|
||||||
@ -76,6 +89,58 @@ public:
|
|||||||
TableBase(HSQOBJECT o, HSQUIRRELVM v = DefaultVM::Get()) : Object(o, v) {
|
TableBase(HSQOBJECT o, HSQUIRRELVM v = DefaultVM::Get()) : Object(o, v) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Copy constructor
|
||||||
|
///
|
||||||
|
/// \param st TableBase to copy
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
TableBase(const TableBase& st) : Object(st) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Move constructor
|
||||||
|
///
|
||||||
|
/// \param st TableBase to move
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
TableBase(TableBase&& st) : Object(std::move(st)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Assignment operator
|
||||||
|
///
|
||||||
|
/// \param st TableBase to copy
|
||||||
|
///
|
||||||
|
/// \return The TableBase itself
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
TableBase& operator=(const TableBase& st) {
|
||||||
|
Object::operator = (st);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Assignment operator
|
||||||
|
///
|
||||||
|
/// \param st TableBase to move
|
||||||
|
///
|
||||||
|
/// \return The TableBase itself
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
TableBase& operator=(TableBase&& st) {
|
||||||
|
Object::operator = (std::move(st));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
/// Binds a Table or Class to the Table (can be used to facilitate namespaces)
|
/// Binds a Table or Class to the Table (can be used to facilitate namespaces)
|
||||||
///
|
///
|
||||||
@ -428,6 +493,19 @@ public:
|
|||||||
Table(const Object& obj) : TableBase(obj) {
|
Table(const Object& obj) : TableBase(obj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Construct the Table from an Object that already exists
|
||||||
|
///
|
||||||
|
/// \param obj An Object that should already represent a Squirrel table
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Table(Object&& obj) : TableBase(std::move(obj)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
/// Construct the Table from a HSQOBJECT and HSQUIRRELVM that already exist
|
/// Construct the Table from a HSQOBJECT and HSQUIRRELVM that already exist
|
||||||
///
|
///
|
||||||
@ -437,6 +515,59 @@ public:
|
|||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
Table(HSQOBJECT o, HSQUIRRELVM v = DefaultVM::Get()) : TableBase(o, v) {
|
Table(HSQOBJECT o, HSQUIRRELVM v = DefaultVM::Get()) : TableBase(o, v) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Copy constructor
|
||||||
|
///
|
||||||
|
/// \param st Table to copy
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Table(const Table& st) : TableBase(st) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Move constructor
|
||||||
|
///
|
||||||
|
/// \param st Table to move
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Table(Table&& st) : TableBase(std::move(st)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Assignment operator
|
||||||
|
///
|
||||||
|
/// \param st Table to copy
|
||||||
|
///
|
||||||
|
/// \return The Table itself
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Table& operator=(const Table& st) {
|
||||||
|
TableBase::operator = (st);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Assignment operator
|
||||||
|
///
|
||||||
|
/// \param st Table to move
|
||||||
|
///
|
||||||
|
/// \return The Table itself
|
||||||
|
///
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Table& operator=(Table&& st) {
|
||||||
|
TableBase::operator = (std::move(st));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SCRAT_USE_CXX11_OPTIMIZATIONS
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user