// File: /workspace/github_cpp_makefile_star2_O2/DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_operations.cpp
// Function: test_map_operations_upper_bound()
void
test_map_operations_upper_bound()
{
	ft::map<char, int> map;
	ft::map<char, int>::iterator it;
	ft::map<char, int>::const_iterator const_it;

	for (char i = '0'; i <= '9'; i++)
		map.insert(ft::make_pair(i, i));

	it = map.upper_bound('0');
	if (it != map.end())
		std::cout << " [" << it->first << "] = " << it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	it = map.upper_bound('!');
	if (it != map.end())
		std::cout << " [" << it->first << "] = " << it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = map.upper_bound('?');
	if (const_it != map.end())
		std::cout << " [" << const_it->first << "] = " << const_it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = map.upper_bound('-');
	if (const_it != map.end())
		std::cout << " [" << const_it->first << "] = " << const_it->second << std::endl;
	else
		std::cout << "end()" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r15
andl $0x0, (%r15)
andq $0x0, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
andq $0x0, 0x20(%r15)
movw $0x3030, %r12w          # imm = 0x3030
leaq -0x58(%rbp), %rbx
leaq -0x22(%rbp), %r14
cmpw $0x3a3a, %r12w          # imm = 0x3A3A
je 0xb95e
movw %r12w, -0x22(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xc346
addl $0x101, %r12d           # imm = 0x101
jmp 0xb93d
leaq -0x22(%rbp), %rsi
movb $0x30, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0xc616
movq %rax, %rbx
cmpq %r15, %rax
je 0xb9b1
movq 0x2663b(%rip), %rdi     # 0x31fb8
leaq 0x15c85(%rip), %rsi     # 0x21609
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x15c70(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
jmp 0xb9c4
movq 0x26600(%rip), %rdi     # 0x31fb8
leaq 0x159ad(%rip), %rsi     # 0x2136c
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x22(%rbp), %rsi
movb $0x21, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0xc616
movq %rax, %rbx
cmpq %r15, %rax
je 0xba1f
movq 0x265cd(%rip), %rdi     # 0x31fb8
leaq 0x15c17(%rip), %rsi     # 0x21609
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x15c02(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
jmp 0xba32
movq 0x26592(%rip), %rdi     # 0x31fb8
leaq 0x1593f(%rip), %rsi     # 0x2136c
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x22(%rbp), %rsi
movb $0x3f, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0xc616
movq %rax, %rbx
cmpq %r15, %rax
je 0xba8d
movq 0x2655f(%rip), %rdi     # 0x31fb8
leaq 0x15ba9(%rip), %rsi     # 0x21609
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x15b94(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
jmp 0xbaa0
movq 0x26524(%rip), %rdi     # 0x31fb8
leaq 0x158d1(%rip), %rsi     # 0x2136c
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x22(%rbp), %rsi
movb $0x2d, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0xc616
movq %rax, %rbx
cmpq %r15, %rax
je 0xbafb
movq 0x264f1(%rip), %rdi     # 0x31fb8
leaq 0x15b3b(%rip), %rsi     # 0x21609
callq 0x31d0
movsbl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x3210
leaq 0x15b26(%rip), %rsi     # 0x2160c
movq %rax, %rdi
callq 0x31d0
movl 0x24(%rbx), %esi
movq %rax, %rdi
callq 0x3320
jmp 0xbb0e
movq 0x264b6(%rip), %rdi     # 0x31fb8
leaq 0x15863(%rip), %rsi     # 0x2136c
callq 0x31d0
movq %rax, %rdi
callq 0x30e0
leaq -0x58(%rbp), %rdi
callq 0xc2f0
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbb36
jmp 0xbb36
jmp 0xbb36
jmp 0xbb36
jmp 0xbb36
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xc2f0
movq %rbx, %rdi
callq 0x3330