// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_element_access.cpp
// Function: test_map_element_access_operator_brackets()
void
test_map_element_access_operator_brackets()
{
	ft::map<char, std::string> mymap;

	mymap['a'] = "an element";
	mymap['b'] = "another element";
	mymap['c'] = mymap['b'];

	std::cout << "mymap['a'] is " << mymap['a'] << std::endl;
	std::cout << "mymap['b'] is " << mymap['b'] << std::endl;
	std::cout << "mymap['c'] is " << mymap['c'] << std::endl;
	std::cout << "mymap['d'] is " << mymap['d'] << std::endl;

	std::cout << "mymap now contains " << mymap.size() << " elements." << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x38, %rsp
leaq -0x38(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x9(%rbp), %rsi
movb $0x61, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq 0x8(%rax), %rdx
leaq 0x17188(%rip), %rcx     # 0x266a0
movl $0xa, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x22c0
leaq -0x9(%rbp), %rsi
movb $0x62, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq 0x8(%rax), %rdx
leaq 0x17168(%rip), %rcx     # 0x266ab
movl $0xf, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x22c0
leaq -0x9(%rbp), %rsi
movb $0x62, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq %rax, %rbx
leaq -0xa(%rbp), %rsi
movb $0x63, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2100
movq 0x24a48(%rip), %rdi     # 0x33fd0
leaq 0x1712c(%rip), %rsi     # 0x266bb
movl $0xe, %edx
callq 0x2230
leaq -0x9(%rbp), %rsi
movb $0x61, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x24a19(%rip), %rdi     # 0x33fd0
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x249e3(%rip), %rdi     # 0x33fd0
leaq 0x170d6(%rip), %rsi     # 0x266ca
movl $0xe, %edx
callq 0x2230
leaq -0x9(%rbp), %rsi
movb $0x62, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x249b4(%rip), %rdi     # 0x33fd0
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x2497e(%rip), %rdi     # 0x33fd0
leaq 0x17080(%rip), %rsi     # 0x266d9
movl $0xe, %edx
callq 0x2230
leaq -0x9(%rbp), %rsi
movb $0x63, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x2494f(%rip), %rdi     # 0x33fd0
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x24919(%rip), %rdi     # 0x33fd0
leaq 0x1702a(%rip), %rsi     # 0x266e8
movl $0xe, %edx
callq 0x2230
leaq -0x9(%rbp), %rsi
movb $0x64, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0xfa24
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x248ea(%rip), %rdi     # 0x33fd0
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq 0x248b4(%rip), %rdi     # 0x33fd0
leaq 0x16fd4(%rip), %rsi     # 0x266f7
movl $0x13, %edx
callq 0x2230
movq -0x18(%rbp), %rsi
movq 0x24898(%rip), %rdi     # 0x33fd0
callq 0x2140
movq %rax, %rbx
leaq 0x16fc4(%rip), %rsi     # 0x2670b
movl $0xa, %edx
movq %rax, %rdi
callq 0x2230
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x40(%rbp), %rdi
callq 0xfc34
addq $0x38, %rsp
popq %rbx
popq %rbp
retq
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
jmp 0xf79b
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0xfc34
movq %rbx, %rdi
callq 0x2340