// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_single_begin_wo_realloc()
void
test_vector_modifiers_insert_single_begin_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");
	ft::vector<std::string>::iterator tmp;

	vec.reserve(101);

	print_vec_info(vec);
	tmp = vec.insert(vec.begin(), "42");
	print_vec_info(vec);

	if (vec.begin() == tmp)
		std::cout << "valid" << std::endl;

	ft::vector<std::string> empty;

	vec.reserve(1);

	print_vec_info(empty);
	tmp = empty.insert(empty.begin(), "42");
	print_vec_info(empty);

	if (tmp == empty.begin())
		std::cout << "valid" << std::endl;

	{
		ft::vector<std::string> cpy1 = vec;
		ft::vector<std::string> cpy2 = empty;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x90ce(%rip), %rsi      # 0x26151
leaq 0x90cb(%rip), %rdx      # 0x26155
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rdx
leaq -0x50(%rbp), %rcx
movl $0x64, %esi
callq 0x193f2
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d0b7
callq 0x21b0
leaq -0x68(%rbp), %rdi
movl $0x65, %esi
callq 0x211d8
leaq -0x68(%rbp), %rdi
callq 0x19488
movq -0x68(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x99a6(%rip), %rsi      # 0x26a86
leaq 0x99a1(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rdx
movq %rbx, %rsi
callq 0x219dc
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d10d
callq 0x21b0
leaq -0x68(%rbp), %rdi
callq 0x19488
cmpq %rbx, -0x68(%rbp)
jne 0x1d162
movq 0x16ead(%rip), %rbx     # 0x33fd0
leaq 0xa36c(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x16e7b(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
leaq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x211d8
leaq -0x50(%rbp), %rdi
callq 0x19488
movq -0x50(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x98ec(%rip), %rsi      # 0x26a86
leaq 0x98e7(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rdx
movq %rbx, %rsi
callq 0x219dc
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d1c7
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x19488
cmpq -0x50(%rbp), %rbx
jne 0x1d21c
movq 0x16df3(%rip), %rbx     # 0x33fd0
leaq 0xa2b2(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x16dc1(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x1a41e
leaq -0x80(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a41e
leaq -0x80(%rbp), %rdi
callq 0xac7c
leaq -0x30(%rbp), %rdi
callq 0xac7c
leaq -0x50(%rbp), %rdi
callq 0xac7c
leaq -0x68(%rbp), %rdi
callq 0xac7c
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xac7c
jmp 0x1d2b8
jmp 0x1d2b5
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d2b8
callq 0x21b0
jmp 0x1d2b8
jmp 0x1d2b5
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d2c6
callq 0x21b0
jmp 0x1d2c6
jmp 0x1d2c3
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d2cf
callq 0x21b0
jmp 0x1d2cf
movq %rax, %rbx
jmp 0x1d2cf
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xac7c
jmp 0x1d2c6
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0xac7c
movq %rbx, %rdi
callq 0x2340