forked from boostorg/intrusive
C++03
This commit is contained in:
@@ -34,7 +34,7 @@ NodeTraits::node_ptr get_right(const Node& node) {
|
|||||||
return NodeTraits::get_right(node.this_ptr());
|
return NodeTraits::get_right(node.this_ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
Tree perfect_binary_tree_of_height_2(std::vector<Node>& node_buffer) {
|
void perfect_binary_tree_of_height_2(std::vector<Node>& node_buffer, Tree& tree) {
|
||||||
// Perfect binary tree of height 2
|
// Perfect binary tree of height 2
|
||||||
// 3
|
// 3
|
||||||
// ╱ ╲
|
// ╱ ╲
|
||||||
@@ -42,7 +42,6 @@ Tree perfect_binary_tree_of_height_2(std::vector<Node>& node_buffer) {
|
|||||||
// ╱ ╲ ╱ ╲
|
// ╱ ╲ ╱ ╲
|
||||||
// 0 2 4 6
|
// 0 2 4 6
|
||||||
assert(node_buffer.size() == 7);
|
assert(node_buffer.size() == 7);
|
||||||
Tree tree;
|
|
||||||
|
|
||||||
const Tree::iterator it3 = tree.insert_before(tree.end(), node_buffer[3]);
|
const Tree::iterator it3 = tree.insert_before(tree.end(), node_buffer[3]);
|
||||||
const Tree::iterator it1 = tree.insert_before(it3, node_buffer[1]);
|
const Tree::iterator it1 = tree.insert_before(it3, node_buffer[1]);
|
||||||
@@ -73,8 +72,6 @@ Tree perfect_binary_tree_of_height_2(std::vector<Node>& node_buffer) {
|
|||||||
assert(get_parent(node_buffer[6]) == node_buffer[5].this_ptr());
|
assert(get_parent(node_buffer[6]) == node_buffer[5].this_ptr());
|
||||||
assert(get_left(node_buffer[6]) == NULL);
|
assert(get_left(node_buffer[6]) == NULL);
|
||||||
assert(get_right(node_buffer[6]) == NULL);
|
assert(get_right(node_buffer[6]) == NULL);
|
||||||
|
|
||||||
return tree;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test that swaps node_buffer 0 and 4 and verifies the results
|
// Test that swaps node_buffer 0 and 4 and verifies the results
|
||||||
@@ -265,7 +262,8 @@ struct SwapWithRightChildTest {
|
|||||||
int main() {
|
int main() {
|
||||||
{ // SwapUnrelatedLeafNodesTest 0 -> 4
|
{ // SwapUnrelatedLeafNodesTest 0 -> 4
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapUnrelatedLeafNodesTest test(node_buffer, tree);
|
SwapUnrelatedLeafNodesTest test(node_buffer, tree);
|
||||||
test.swap04();
|
test.swap04();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -273,7 +271,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapUnrelatedLeafNodesTest 0 <- 4
|
{ // SwapUnrelatedLeafNodesTest 0 <- 4
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapUnrelatedLeafNodesTest test(node_buffer, tree);
|
SwapUnrelatedLeafNodesTest test(node_buffer, tree);
|
||||||
test.swap40();
|
test.swap40();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -281,7 +280,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapSiblingLeafNodesTest 0 -> 2
|
{ // SwapSiblingLeafNodesTest 0 -> 2
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapSiblingLeafNodesTest test(node_buffer, tree);
|
SwapSiblingLeafNodesTest test(node_buffer, tree);
|
||||||
test.swap02();
|
test.swap02();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -289,7 +289,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapSiblingLeafNodesTest 0 <- 2
|
{ // SwapSiblingLeafNodesTest 0 <- 2
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapSiblingLeafNodesTest test(node_buffer, tree);
|
SwapSiblingLeafNodesTest test(node_buffer, tree);
|
||||||
test.swap20();
|
test.swap20();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -297,7 +298,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapSiblingNodesTest 1 -> 5
|
{ // SwapSiblingNodesTest 1 -> 5
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapSiblingNodesTest test(node_buffer, tree);
|
SwapSiblingNodesTest test(node_buffer, tree);
|
||||||
test.swap15();
|
test.swap15();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -305,7 +307,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapSiblingNodesTest 1 <- 5
|
{ // SwapSiblingNodesTest 1 <- 5
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapSiblingNodesTest test(node_buffer, tree);
|
SwapSiblingNodesTest test(node_buffer, tree);
|
||||||
test.swap51();
|
test.swap51();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -313,7 +316,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapWithLeftChildTest 0 -> 1
|
{ // SwapWithLeftChildTest 0 -> 1
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapWithLeftChildTest test(node_buffer, tree);
|
SwapWithLeftChildTest test(node_buffer, tree);
|
||||||
test.swap01();
|
test.swap01();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -321,7 +325,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapWithLeftChildTest 0 <- 1
|
{ // SwapWithLeftChildTest 0 <- 1
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapWithLeftChildTest test(node_buffer, tree);
|
SwapWithLeftChildTest test(node_buffer, tree);
|
||||||
test.swap10();
|
test.swap10();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -329,7 +334,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapWithRightChildTest 1 -> 2
|
{ // SwapWithRightChildTest 1 -> 2
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapWithRightChildTest test(node_buffer, tree);
|
SwapWithRightChildTest test(node_buffer, tree);
|
||||||
test.swap12();
|
test.swap12();
|
||||||
test.check();
|
test.check();
|
||||||
@@ -337,7 +343,8 @@ int main() {
|
|||||||
|
|
||||||
{ // SwapWithRightChildTest 1 <- 2
|
{ // SwapWithRightChildTest 1 <- 2
|
||||||
std::vector<Node> node_buffer(7);
|
std::vector<Node> node_buffer(7);
|
||||||
Tree tree = perfect_binary_tree_of_height_2(node_buffer);
|
Tree tree;
|
||||||
|
perfect_binary_tree_of_height_2(node_buffer, tree);
|
||||||
SwapWithRightChildTest test(node_buffer, tree);
|
SwapWithRightChildTest test(node_buffer, tree);
|
||||||
test.swap21();
|
test.swap21();
|
||||||
test.check();
|
test.check();
|
||||||
|
Reference in New Issue
Block a user