mirror of
https://github.com/ChaiScript/ChaiScript.git
synced 2025-12-07 01:06:54 +08:00
Implement proper swap for Boxed_Value
This commit is contained in:
parent
645cdddd70
commit
37b2ac2056
@ -264,6 +264,11 @@ namespace chaiscript
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void swap(Boxed_Value &rhs)
|
||||||
|
{
|
||||||
|
std::swap(m_data, rhs.m_data);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a reference to the static global Object_Cache
|
* Return a reference to the static global Object_Cache
|
||||||
*/
|
*/
|
||||||
@ -293,7 +298,8 @@ namespace chaiscript
|
|||||||
*/
|
*/
|
||||||
Boxed_Value &operator=(const Boxed_Value &rhs)
|
Boxed_Value &operator=(const Boxed_Value &rhs)
|
||||||
{
|
{
|
||||||
m_data = rhs.m_data;
|
Boxed_Value temp(rhs);
|
||||||
|
swap(temp);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -896,7 +902,14 @@ namespace chaiscript
|
|||||||
{
|
{
|
||||||
return l.get_type_info() == r.get_type_info();
|
return l.get_type_info() == r.get_type_info();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template<> void swap(chaiscript::Boxed_Value &lhs, chaiscript::Boxed_Value &rhs)
|
||||||
|
{
|
||||||
|
lhs.swap(rhs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user