// File: pc260533[P]ITC313-TP2/./commande.h
// Function: operator<<(std::ostream&, Commande const&)
std::ostream& operator<< (std::ostream& out, const Commande &commande){
        out << "Le client de la commande est : "  << std::endl << commande.getClientCommande()->affichageCourt() << std::endl;
        std::string statutLivreeCommande = "non livree";
        if (commande.getStatutLivreeCommande()) {
            statutLivreeCommande = "livree";
        }
        out << "La statut de la commande est : " << statutLivreeCommande << "." << std::endl;
        out << "La liste des produits de la commande sont : " << std::endl;
        for (int i = 0; i < commande.getListeProduitsCommandes().size(); i++) {
            out << "Quantite : " << commande.getListeQuantitesProduitsCommandes().at(i) << " " << *commande.getListeProduitsCommandes().at(i);
        }
        return out;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x539e(%rip), %rsi      # 0x1cbbc
callq 0x42c0
movq %rax, %rdi
movq 0xf773(%rip), %rsi      # 0x26fa0
callq 0x4310
movq %rax, -0xc8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10b00
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x9040
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x42b0
movq %rax, -0xb8(%rbp)
jmp 0x17871
movq -0xb8(%rbp), %rdi
movq 0xf721(%rip), %rsi      # 0x26fa0
callq 0x4310
jmp 0x17886
leaq -0x30(%rbp), %rdi
callq 0x4200
leaq -0x61(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x4510
movq -0xd0(%rbp), %rdx
leaq 0x532f(%rip), %rsi      # 0x1cbdc
leaq -0x60(%rbp), %rdi
callq 0x7da0
jmp 0x178b8
leaq -0x61(%rbp), %rdi
callq 0x4330
movq -0x10(%rbp), %rdi
callq 0x10bd0
movb %al, -0xd1(%rbp)
jmp 0x178d2
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x178de
jmp 0x17937
leaq 0x52fb(%rip), %rsi      # 0x1cbe0
leaq -0x60(%rbp), %rdi
callq 0x43e0
jmp 0x178f0
jmp 0x17937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4200
jmp 0x17b61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x4330
jmp 0x17b61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x17b58
movq -0x8(%rbp), %rdi
leaq 0x52a5(%rip), %rsi      # 0x1cbe7
callq 0x42c0
movq %rax, -0xe0(%rbp)
jmp 0x17950
movq -0xe0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x42b0
movq %rax, -0xe8(%rbp)
jmp 0x17969
movq -0xe8(%rbp), %rdi
leaq 0x4acb(%rip), %rsi      # 0x1c442
callq 0x42c0
movq %rax, -0xf0(%rbp)
jmp 0x17985
movq -0xf0(%rbp), %rdi
movq 0xf60d(%rip), %rsi      # 0x26fa0
callq 0x4310
jmp 0x1799a
movq -0x8(%rbp), %rdi
leaq 0x5262(%rip), %rsi      # 0x1cc07
callq 0x42c0
movq %rax, -0xf8(%rbp)
jmp 0x179b3
movq -0xf8(%rbp), %rdi
movq 0xf5df(%rip), %rsi      # 0x26fa0
callq 0x4310
jmp 0x179c8
movl $0x0, -0x68(%rbp)
movslq -0x68(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x10b40
jmp 0x179e9
leaq -0x80(%rbp), %rdi
callq 0xb250
movq %rax, -0x108(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xb150
movq -0x108(%rbp), %rcx
movq -0x100(%rbp), %rax
cmpq %rcx, %rax
jae 0x17b34
movq -0x8(%rbp), %rdi
leaq 0x518c(%rip), %rsi      # 0x1cbb0
callq 0x42c0
movq %rax, -0x110(%rbp)
jmp 0x17a32
movq -0x10(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x10ba0
jmp 0x17a44
movslq -0x68(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0xb2b0
movq %rax, -0x118(%rbp)
jmp 0x17a5d
movq -0x110(%rbp), %rdi
movq -0x118(%rbp), %rax
movl (%rax), %esi
callq 0x44f0
movq %rax, -0x120(%rbp)
jmp 0x17a7b
movq -0x120(%rbp), %rdi
leaq 0x50eb(%rip), %rsi      # 0x1cb74
callq 0x42c0
movq %rax, -0x128(%rbp)
jmp 0x17a97
movq -0x10(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
callq 0x10b40
jmp 0x17aa9
movslq -0x68(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
callq 0xb270
movq %rax, -0x130(%rbp)
jmp 0x17ac2
movq -0x128(%rbp), %rdi
movq -0x130(%rbp), %rax
movq (%rax), %rsi
callq 0x17470
jmp 0x17ada
leaq -0xb0(%rbp), %rdi
callq 0xb150
leaq -0x98(%rbp), %rdi
callq 0xb0f0
movl -0x68(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0x179cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x17b26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xb150
leaq -0x98(%rbp), %rdi
callq 0xb0f0
jmp 0x17b58
movq -0x8(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4200
movq -0x138(%rbp), %rax
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
leaq -0x60(%rbp), %rdi
callq 0x4200
movq -0x38(%rbp), %rdi
callq 0x4500
nopw (%rax,%rax)