// File: 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
subq $0xf0, %rsp
leaq -0x30(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x24c90
movq -0x60(%rbp), %rdi
movb $0x61, -0x31(%rbp)
leaq -0x31(%rbp), %rsi
callq 0x24cb0
movq %rax, -0x58(%rbp)
jmp 0x2445f
movq -0x58(%rbp), %rdi
leaq 0x33216(%rip), %rsi     # 0x57680
callq 0x3280
jmp 0x24471
movb $0x62, -0x45(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x45(%rbp), %rsi
callq 0x24cb0
movq %rax, -0x68(%rbp)
jmp 0x24488
movq -0x68(%rbp), %rdi
leaq 0x331f8(%rip), %rsi     # 0x5768b
callq 0x3280
jmp 0x2449a
movb $0x62, -0x46(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x46(%rbp), %rsi
callq 0x24cb0
movq %rax, -0x70(%rbp)
jmp 0x244b1
movb $0x63, -0x47(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x47(%rbp), %rsi
callq 0x24cb0
movq %rax, -0x78(%rbp)
jmp 0x244c8
movq -0x70(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x3040
jmp 0x244d7
movq 0x56ada(%rip), %rdi     # 0x7afb8
leaq 0x331b6(%rip), %rsi     # 0x5769b
callq 0x31e0
movq %rax, -0x80(%rbp)
jmp 0x244f0
movb $0x61, -0x48(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x24cb0
movq %rax, -0x88(%rbp)
jmp 0x2450a
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdi
callq 0x31b0
movq %rax, -0x90(%rbp)
jmp 0x24523
movq -0x90(%rbp), %rdi
movq 0x56a67(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x24538
movq 0x56a79(%rip), %rdi     # 0x7afb8
leaq 0x33164(%rip), %rsi     # 0x576aa
callq 0x31e0
movq %rax, -0x98(%rbp)
jmp 0x24554
movb $0x62, -0x49(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x49(%rbp), %rsi
callq 0x24cb0
movq %rax, -0xa0(%rbp)
jmp 0x2456e
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdi
callq 0x31b0
movq %rax, -0xa8(%rbp)
jmp 0x2458a
movq -0xa8(%rbp), %rdi
movq 0x56a00(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x2459f
movq 0x56a12(%rip), %rdi     # 0x7afb8
leaq 0x3310c(%rip), %rsi     # 0x576b9
callq 0x31e0
movq %rax, -0xb0(%rbp)
jmp 0x245bb
movb $0x63, -0x4a(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x4a(%rbp), %rsi
callq 0x24cb0
movq %rax, -0xb8(%rbp)
jmp 0x245d5
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdi
callq 0x31b0
movq %rax, -0xc0(%rbp)
jmp 0x245f1
movq -0xc0(%rbp), %rdi
movq 0x56999(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x24606
movq 0x569ab(%rip), %rdi     # 0x7afb8
leaq 0x330b4(%rip), %rsi     # 0x576c8
callq 0x31e0
movq %rax, -0xc8(%rbp)
jmp 0x24622
movb $0x64, -0x4b(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x4b(%rbp), %rsi
callq 0x24cb0
movq %rax, -0xd0(%rbp)
jmp 0x2463c
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdi
callq 0x31b0
movq %rax, -0xd8(%rbp)
jmp 0x24658
movq -0xd8(%rbp), %rdi
movq 0x56932(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x2466d
movq 0x56944(%rip), %rdi     # 0x7afb8
leaq 0x3305c(%rip), %rsi     # 0x576d7
callq 0x31e0
movq %rax, -0xe0(%rbp)
jmp 0x24689
leaq -0x30(%rbp), %rdi
callq 0x24d90
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
callq 0x3080
movq %rax, -0xe8(%rbp)
jmp 0x246aa
movq -0xe8(%rbp), %rdi
leaq 0x33033(%rip), %rsi     # 0x576eb
callq 0x31e0
movq %rax, -0xf0(%rbp)
jmp 0x246c6
movq -0xf0(%rbp), %rdi
movq 0x568c4(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x246db
leaq -0x30(%rbp), %rdi
callq 0x24db0
addq $0xf0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x24db0
movq -0x40(%rbp), %rdi
callq 0x3360
nopl (%rax,%rax)