// File: /workspace/github_cpp_makefile_star2_O2/massykezzoul[P]jeu-de-la-vie/option/option.cpp
// Function: Option_tab::Option_tab()
Option_tab::Option_tab():nb(0){
	// Définition des options disponible
	Option opt1(Option::HELP,"help",'h',Option::NOPE,
		"Affiche les aides du programme");
	
	Option opt2(Option::VERSION,"version",'v',Option::NOPE,
		"Affiche la version du programme"); 
	
	Option opt3(Option::DIMENSION,"dimension",'d',Option::INT,
		"Precisé la dimension du tableau, Doit etre entre 3 et N"); 
	
	Option opt4(Option::CONFIG,"config",'c',Option::STR,
		"Donne le fichier de configuration");
	
	Option opt5(Option::PROBABILITY,"probability",'p',Option::FLOAT,
		"Spécifié le pourcentage de cellule vivante dans la population");

	Option opt6(Option::SPEED,"speed",'s',Option::INT,
		"Spécifié la vitesse de défilement des generations.(en ms)");
	/* 
	Pour l'ajout d'une option : 
	Option opt7(Option::Id*,"nom de l'option**",'raccourci**',Option::type_argument,
		"courte description");

		* L'identifiant de l'option (voir 'option.h' ligne:6)
		** Doivent ếtre Unique
	*/

	// Ajout des option définit dans un tableau d'option
	add(opt1);
	add(opt2);
	add(opt3);
	add(opt4);
	add(opt5);
	add(opt6);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x230, %rsp            # imm = 0x230
movq %rdi, %rbx
andq $0x0, (%rdi)
leaq 0x48(%rdi), %rax
movl $0x320, %ecx            # imm = 0x320
xorl %edx, %edx
leaq -0x28(%rax), %rsi
movq %rsi, -0x38(%rax)
andq $0x0, -0x30(%rax)
movb %dl, -0x28(%rax)
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %dl, (%rax)
addq $0x50, %rax
addq $-0x50, %rcx
jne 0x5006
leaq 0x14f1(%rip), %rsi      # 0x6523
leaq 0x190(%rsp), %rdi
leaq 0xf0(%rsp), %rdx
callq 0x42a2
leaq 0x14da(%rip), %rsi      # 0x6528
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x42a2
leaq 0x1e0(%rsp), %rdi
leaq 0x190(%rsp), %rdx
pushq $0x68
popq %rcx
pushq $0x4
popq %r8
leaq 0x140(%rsp), %r9
xorl %esi, %esi
callq 0x4d28
leaq 0x140(%rsp), %rdi
callq 0x20e0
leaq 0x190(%rsp), %rdi
callq 0x20e0
leaq 0x149d(%rip), %rsi      # 0x6547
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x42a2
leaq 0x1489(%rip), %rsi      # 0x654f
leaq 0xf0(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x42a2
leaq 0x190(%rsp), %rdi
pushq $0x1
popq %rsi
leaq 0x140(%rsp), %rdx
pushq $0x76
popq %rcx
pushq $0x4
popq %r8
leaq 0xf0(%rsp), %r9
callq 0x4d28
leaq 0xf0(%rsp), %rdi
callq 0x20e0
leaq 0x140(%rsp), %rdi
callq 0x20e0
leaq 0x144f(%rip), %rsi      # 0x656f
leaq 0xf0(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x42a2
leaq 0x1440(%rip), %rsi      # 0x6579
leaq 0xa0(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x42a2
leaq 0x140(%rsp), %rdi
pushq $0x2
popq %rsi
leaq 0xf0(%rsp), %rdx
pushq $0x64
popq %rcx
leaq 0xa0(%rsp), %r9
xorl %r8d, %r8d
callq 0x4d28
leaq 0xa0(%rsp), %rdi
callq 0x20e0
leaq 0xf0(%rsp), %rdi
callq 0x20e0
leaq 0x1420(%rip), %rsi      # 0x65b2
leaq 0xa0(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x42a2
leaq 0x140e(%rip), %rsi      # 0x65b9
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x42a2
leaq 0xf0(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
pushq $0x63
popq %rcx
pushq $0x3
popq %rsi
leaq 0x50(%rsp), %r9
movl %esi, %r8d
callq 0x4d28
leaq 0x50(%rsp), %rdi
callq 0x20e0
leaq 0xa0(%rsp), %rdi
callq 0x20e0
leaq 0x13e0(%rip), %rsi      # 0x65db
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x42a2
leaq 0x13d6(%rip), %rsi      # 0x65e7
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x42a2
leaq 0xa0(%rsp), %rdi
pushq $0x4
popq %rsi
leaq 0x50(%rsp), %rdx
pushq $0x70
popq %rcx
pushq $0x1
popq %r8
leaq 0x10(%rsp), %r9
callq 0x4d28
leaq 0x10(%rsp), %rdi
callq 0x20e0
leaq 0x50(%rsp), %rdi
callq 0x20e0
leaq 0x13cb(%rip), %rsi      # 0x6627
leaq 0x10(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x42a2
leaq 0x13bb(%rip), %rsi      # 0x662d
leaq 0x30(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x42a2
leaq 0x50(%rsp), %rdi
pushq $0x5
popq %rsi
leaq 0x10(%rsp), %rdx
pushq $0x73
popq %rcx
leaq 0x30(%rsp), %r9
xorl %r8d, %r8d
callq 0x4d28
leaq 0x30(%rsp), %rdi
callq 0x20e0
leaq 0x10(%rsp), %rdi
callq 0x20e0
leaq 0x1e0(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0x190(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0x140(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0xf0(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0xa0(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0x54d6
leaq 0x50(%rsp), %rdi
callq 0x4310
leaq 0xa0(%rsp), %rdi
callq 0x4310
leaq 0xf0(%rsp), %rdi
callq 0x4310
leaq 0x140(%rsp), %rdi
callq 0x4310
leaq 0x190(%rsp), %rdi
callq 0x4310
leaq 0x1e0(%rsp), %rdi
callq 0x4310
addq $0x230, %rsp            # imm = 0x230
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x20e0
jmp 0x5379
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x20e0
jmp 0x5473
movq %rax, %r14
jmp 0x5473
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x20e0
jmp 0x53a2
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x20e0
jmp 0x5480
movq %rax, %r14
jmp 0x5480
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x20e0
jmp 0x53cb
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x20e0
jmp 0x548d
movq %rax, %r14
jmp 0x548d
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x20e0
jmp 0x53fa
movq %rax, %r14
leaq 0xf0(%rsp), %rdi
callq 0x20e0
jmp 0x549a
movq %rax, %r14
jmp 0x549a
movq %rax, %r14
leaq 0xf0(%rsp), %rdi
callq 0x20e0
jmp 0x5429
movq %rax, %r14
leaq 0x140(%rsp), %rdi
callq 0x20e0
jmp 0x54a7
movq %rax, %r14
jmp 0x54a7
movq %rax, %r14
leaq 0x140(%rsp), %rdi
callq 0x20e0
jmp 0x5452
movq %rax, %r14
leaq 0x190(%rsp), %rdi
callq 0x20e0
jmp 0x54b4
movq %rax, %r14
jmp 0x54b4
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x4310
leaq 0xa0(%rsp), %rdi
callq 0x4310
leaq 0xf0(%rsp), %rdi
callq 0x4310
leaq 0x140(%rsp), %rdi
callq 0x4310
leaq 0x190(%rsp), %rdi
callq 0x4310
leaq 0x1e0(%rsp), %rdi
callq 0x4310
movl $0x2d8, %r15d           # imm = 0x2D8
leaq (%rbx,%r15), %rdi
callq 0x4310
addq $-0x50, %r15
cmpq $-0x48, %r15
jne 0x54ba
movq %r14, %rdi
callq 0x22c0
nop