// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_cplusplus()
void
test_set_modifiers_insert_cplusplus()
{
	ft::set<int> myset;
	ft::set<int>::iterator it;
	ft::pair<ft::set<int>::iterator, bool> ret;

	for (int i = 1; i <= 5; ++i)
		myset.insert(i * 10);

	ret = myset.insert(20);

	if (ret.second == false)
		it = ret.first;

	myset.insert(it,25);
	myset.insert(it,24);
	myset.insert(it,26);

	int myints[] = {5, 10, 15};
	myset.insert(myints, myints + 3);

	std::cout << "myset contains:";
	for (it = myset.begin(); it != myset.end(); ++it)
		std::cout << ' ' << *it;
	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
leaq -0x48(%rbp), %rdi
callq 0xde90
jmp 0xc328
movl $0x1, -0x58(%rbp)
cmpl $0x5, -0x58(%rbp)
jg 0xc397
movl -0x58(%rbp), %ecx
addl %ecx, %ecx
movl %ecx, %eax
leal (%rax,%rax,4), %eax
movl %eax, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x5c(%rbp), %rsi
callq 0x7770
movb %dl, -0x109(%rbp)
movq %rax, -0x108(%rbp)
jmp 0xc35e
movb -0x109(%rbp), %al
movq -0x108(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movb %al, -0x68(%rbp)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0xc32f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0xc5ca
movl $0x14, -0x84(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x84(%rbp), %rsi
callq 0x7770
movb %dl, -0x119(%rbp)
movq %rax, -0x118(%rbp)
jmp 0xc3c0
movb -0x119(%rbp), %al
movq -0x118(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movb %al, -0x90(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x80(%rbp)
movb -0x90(%rbp), %al
movb %al, -0x78(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0xdec0
movb -0x40(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0xc410
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x19, -0xa4(%rbp)
movq -0xa0(%rbp), %rsi
leaq -0x30(%rbp), %rdi
leaq -0xa4(%rbp), %rdx
callq 0xdfb0
movq %rax, -0x128(%rbp)
jmp 0xc445
movq -0x128(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl $0x18, -0xbc(%rbp)
movq -0xb8(%rbp), %rsi
leaq -0x30(%rbp), %rdi
leaq -0xbc(%rbp), %rdx
callq 0xdfb0
movq %rax, -0x130(%rbp)
jmp 0xc488
movq -0x130(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl $0x1a, -0xd4(%rbp)
movq -0xd0(%rbp), %rsi
leaq -0x30(%rbp), %rdi
leaq -0xd4(%rbp), %rdx
callq 0xdfb0
movq %rax, -0x138(%rbp)
jmp 0xc4cb
movq -0x138(%rbp), %rax
movq %rax, -0xe0(%rbp)
movabsq $0xa00000005, %rax      # imm = 0xA00000005
movq %rax, -0xf0(%rbp)
movl $0xf, -0xe8(%rbp)
leaq -0xe4(%rbp), %rdx
leaq -0x30(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xe0c0
jmp 0xc50d
movq 0x6eaa4(%rip), %rdi     # 0x7afb8
leaq 0x4abda(%rip), %rsi     # 0x570f5
callq 0x31e0
jmp 0xc522
leaq -0x30(%rbp), %rdi
callq 0x7580
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x75b0
movq %rax, -0x100(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0xc563
jmp 0xc5a3
movq 0x6ea4e(%rip), %rdi     # 0x7afb8
movl $0x20, %esi
callq 0x3250
movq %rax, -0x140(%rbp)
jmp 0xc57d
leaq -0x38(%rbp), %rdi
callq 0x60c0
movq -0x140(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
jmp 0xc596
jmp 0xc598
leaq -0x38(%rbp), %rdi
callq 0x97b0
jmp 0xc53d
movq 0x6ea0e(%rip), %rdi     # 0x7afb8
movq 0x6e9e7(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xc5b8
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)