3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-09 18:40:51 +00:00
z3/examples/c++/test_move_simple.cpp
copilot-swe-agent[bot] 6e09a06307 Add move semantics to z3::context class
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-05 17:15:43 +00:00

45 lines
1,000 B
C++

/*++
Copyright (c) 2026 Microsoft Corporation
Simple test file for move semantics of z3::context
--*/
#include <iostream>
#include <utility>
#include "z3++.h"
using namespace z3;
int main() {
std::cout << "Test 1: Move constructor\n";
{
context c1;
std::cout << "Created c1\n";
context c2(std::move(c1));
std::cout << "Moved c1 to c2\n";
expr x = c2.int_const("x");
std::cout << "Created expression in c2\n";
}
std::cout << "Test 1 passed!\n\n";
std::cout << "Test 2: Move assignment\n";
{
context c1;
std::cout << "Created c1\n";
context c2;
std::cout << "Created c2\n";
c2 = std::move(c1);
std::cout << "Move assigned c1 to c2\n";
expr x = c2.int_const("x");
std::cout << "Created expression in c2\n";
}
std::cout << "Test 2 passed!\n\n";
std::cout << "All tests passed!\n";
return 0;
}