// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_modifiers.cpp
// Function: test_map_modifiers_swap_iterator_validity()
void
test_map_modifiers_swap_iterator_validity()
{
	ft::map<char, int> first, second;
	ft::map<char, int>::iterator it_first, it_second;

	first['x'] = 100;
	first['y'] = 200;

	second['a'] = 11;
	second['b'] = 22;
	second['c'] = 33;

	it_first = first.begin();
	it_second = second.begin();

	std::cout << "[" << it_first->first << "] = " << it_first->second << std::endl;
	std::cout << "[" << it_second->first << "] = " << it_second->second << std::endl;

	print_map_info(first);
	print_map_info(second);

	first.swap(second);

	std::cout << "[" << it_first->first << "] = " << it_first->second << std::endl;
	std::cout << "[" << it_second->first << "] = " << it_second->second << std::endl;

	print_map_info(first);
	print_map_info(second);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
leaq -0x70(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x40(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x11(%rbp), %rsi
movb $0x78, (%rsi)
leaq -0x78(%rbp), %rdi
callq 0xc29e
movl $0x64, (%rax)
leaq -0x11(%rbp), %rsi
movb $0x79, (%rsi)
leaq -0x78(%rbp), %rdi
callq 0xc29e
movl $0xc8, (%rax)
leaq -0x11(%rbp), %rsi
movb $0x61, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0xc29e
movl $0xb, (%rax)
leaq -0x11(%rbp), %rsi
movb $0x62, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0xc29e
movl $0x16, (%rax)
leaq -0x11(%rbp), %rsi
movb $0x63, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0xc29e
movl $0x21, (%rax)
movq -0x60(%rbp), %r14
movq -0x30(%rbp), %rbx
movq 0x21b7e(%rip), %rdi     # 0x31fb8
leaq 0x111c9(%rip), %rsi     # 0x2160a
callq 0x31d0
movsbl 0x20(%r14), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x111b2(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%r14), %esi
movq %rax, %rdi
callq 0x3320
movq %rax, %rdi
callq 0x30e0
movq 0x21b3b(%rip), %rdi     # 0x31fb8
leaq 0x11186(%rip), %rsi     # 0x2160a
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x11170(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x78(%rbp), %rdi
callq 0xc1a3
leaq -0x48(%rbp), %rdi
callq 0xc1a3
leaq -0x78(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xda4a
movq 0x21adb(%rip), %rdi     # 0x31fb8
leaq 0x11126(%rip), %rsi     # 0x2160a
callq 0x31d0
movsbl 0x20(%r14), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x1110f(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%r14), %esi
movq %rax, %rdi
callq 0x3320
movq %rax, %rdi
callq 0x30e0
movq 0x21a98(%rip), %rdi     # 0x31fb8
leaq 0x110e3(%rip), %rsi     # 0x2160a
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x110cd(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
movq %rax, %rdi
callq 0x30e0
leaq -0x78(%rbp), %rdi
callq 0xc1a3
leaq -0x48(%rbp), %rdi
callq 0xc1a3
leaq -0x48(%rbp), %rdi
callq 0xc2f0
leaq -0x78(%rbp), %rdi
callq 0xc2f0
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x10591
jmp 0x10591
jmp 0x10591
jmp 0x10591
jmp 0x10591
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0xc2f0
leaq -0x78(%rbp), %rdi
callq 0xc2f0
movq %rbx, %rdi
callq 0x3330