// File: /workspace/github_cpp_makefile_star2_O2/statgen[P]statgen/lib/tclap-1.2.0/examples/test12.cpp
// Function: main
int main(int argc, char *argv[])
{
    CmdLine cmd("Command description message", ' ', "0.9");
    MultiArg<Vect3D> vec("v", "vect", "vector", 
			 true, "3D vector", cmd);
    
    try {
	cmd.parse(argc, argv);
    } catch(std::exception &e) {
	std::cout << e.what() << std::endl;
	return EXIT_FAILURE;
    }

    std::copy(vec.begin(), vec.end(),
	      std::ostream_iterator<Vect3D>(std::cout, "\n"));

    std::cout << "REVERSED" << std::endl;

    // use alt. form getValue()
    std::vector<Vect3D> v(vec.getValue());
    std::reverse(v.begin(), v.end());

    std::copy(v.begin(), v.end(),
	      std::ostream_iterator<Vect3D>(std::cout, "\n"));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x278, %rsp            # imm = 0x278
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x5b8f(%rip), %rsi      # 0x9022
leaq 0xa8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x3a28
leaq 0x5b92(%rip), %rsi      # 0x903e
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x3a28
leaq 0x198(%rsp), %r15
leaq 0xa8(%rsp), %rsi
pushq $0x20
popq %rdx
leaq 0x8(%rsp), %rcx
pushq $0x1
popq %r8
movq %r15, %rdi
callq 0x4480
leaq 0x8(%rsp), %rdi
callq 0x3348
leaq 0xa8(%rsp), %rdi
callq 0x3348
leaq 0x5b45(%rip), %rsi      # 0x9042
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x3a28
leaq 0x5b31(%rip), %rsi      # 0x9044
leaq 0x28(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x3a28
leaq 0x5ebf(%rip), %rsi      # 0x93e8
leaq 0x48(%rsp), %rdi
leaq 0x5(%rsp), %rdx
callq 0x3a28
leaq 0x5ea6(%rip), %rsi      # 0x93e5
leaq 0x68(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x3a28
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x48(%rsp), %rcx
pushq $0x1
popq %r14
leaq 0x68(%rsp), %r9
movl %r14d, %r8d
pushq $0x0
pushq %r15
callq 0x45ee
popq %rax
popq %rcx
leaq 0x68(%rsp), %rdi
callq 0x3348
leaq 0x48(%rsp), %rdi
callq 0x3348
leaq 0x28(%rsp), %rdi
callq 0x3348
leaq 0x8(%rsp), %rdi
callq 0x3348
leaq 0x198(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x4698
movq 0x150(%rsp), %rsi
movq 0x158(%rsp), %rdx
movq 0xaa03(%rip), %rax      # 0xdfd0
leaq 0x98(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x5a6a(%rip), %r14      # 0x9049
movq %r14, 0x8(%rcx)
leaq 0x8(%rsp), %rdi
callq 0x4750
movq 0xa9dc(%rip), %rbx      # 0xdfd0
leaq 0x5a50(%rip), %rsi      # 0x904b
movq %rbx, %rdi
callq 0x3190
movq %rax, %rdi
callq 0x30d0
leaq 0x150(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x4770
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x85a5
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x88(%rsp), %rcx
movq %rbx, (%rcx)
movq %r14, 0x8(%rcx)
leaq 0x28(%rsp), %rdi
callq 0x47c4
leaq 0x8(%rsp), %rdi
callq 0x846c
xorl %r14d, %r14d
leaq 0xa8(%rsp), %rdi
callq 0x47e4
leaq 0x198(%rsp), %rdi
callq 0x43a8
movl %r14d, %eax
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3689
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x846c
jmp 0x3761
jmp 0x375e
jmp 0x375e
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x3761
movq %rbx, %rdi
callq 0x3090
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0xa907(%rip), %rdi      # 0xdfd0
movq %rax, %rsi
callq 0x3190
movq %rax, %rdi
callq 0x30d0
callq 0x3290
jmp 0x365c
jmp 0x375e
movq %rax, %rbx
callq 0x3290
jmp 0x3761
movq %rax, %rdi
callq 0x4352
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x3348
jmp 0x3709
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x3348
jmp 0x3718
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x3348
jmp 0x3727
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3348
jmp 0x376e
movq %rax, %rbx
jmp 0x376e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3348
jmp 0x374a
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x3348
jmp 0x377b
movq %rax, %rbx
jmp 0x377b
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x47e4
leaq 0x198(%rsp), %rdi
callq 0x43a8
movq %rbx, %rdi
callq 0x32c0
nop