Exemple #1
0
void AnyTest::testSwap()
{
	std::string text = "test message";
	Any original = text, swapped;
	std::string* originalPtr = AnyCast<std::string>(&original);
	Any* swapResult = &original.swap(swapped);
	
	assert (original.empty());
	assert (!swapped.empty());
	assert (swapped.type() == typeid(std::string));
	assert (text == AnyCast<std::string>(swapped));
	assert (0 != originalPtr);
#ifdef POCO_NO_SOO // pointers only match when heap-allocated
	assert (originalPtr == AnyCast<std::string>(&swapped));
#endif
	assert (swapResult == &original);
}