// File: jliesch[P]ofxget/clap/include/cmdarg.hh
// Function: CmdArgTypeList<int>::CmdArgTypeList(char, char const*, char const*, char const*, unsigned int, int, int, char const*)
CmdArgTypeList(const char   optChar,
		 const char*  keyword,
		 const char*  valueName,
		 const char*  description,
		 unsigned int syntaxFlags = (isREQ | isVALREQ),
		 int          minSize = 1,
		 int          maxSize = 100,
		 const char*  delim = ",-~/.")
    :   CmdArg(optChar, keyword, valueName, description, syntaxFlags),
	_delimiters(delim), _min(minSize),_max(maxSize)    
  {
    char buf[512];
    sprintf(buf, "%s1%c...%c%sn", getValueName(), _delimiters[0],
	    _delimiters[0], getValueName());
    setValueName(buf);
    sprintf(buf, "%s (%d <= n <= %d)", description, _min, _max);
    setDescription(buf);
    for (int i = 0; i < strlen(delim); i++){
      if (delim[i] == ' '){
	cout << "ERROR: space can't be a delimiter" << endl;
	exit(0);}}
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movb %sil, %al
movq 0x20(%rbp), %rsi
movl 0x18(%rbp), %esi
movl 0x10(%rbp), %esi
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x250(%rbp)
movb -0x9(%rbp), %al
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl -0x2c(%rbp), %r9d
movsbl %al, %esi
callq 0x3b1f0
movq -0x250(%rbp), %rdi
leaq 0x58245(%rip), %rax     # 0x94b38
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x30, %rdi
movq %rdi, -0x270(%rbp)
callq 0x3d810
movq -0x250(%rbp), %rdi
addq $0x48, %rdi
callq 0x3d830
movq -0x250(%rbp), %rdi
movq 0x20(%rbp), %rax
movq %rax, 0x58(%rdi)
movl 0x18(%rbp), %eax
movl %eax, 0x60(%rdi)
movl 0x10(%rbp), %eax
movl %eax, 0x64(%rdi)
leaq -0x230(%rbp), %rax
movq %rax, -0x268(%rbp)
callq 0x3b500
movq -0x250(%rbp), %rdi
movq %rax, -0x260(%rbp)
movq 0x58(%rdi), %rax
movsbl (%rax), %eax
movl %eax, -0x258(%rbp)
movq 0x58(%rdi), %rax
movsbl (%rax), %eax
movl %eax, -0x254(%rbp)
callq 0x3b500
movq -0x268(%rbp), %rdi
movq -0x260(%rbp), %rdx
movl -0x258(%rbp), %ecx
movl -0x254(%rbp), %r8d
movq %rax, %r9
leaq 0x2dc3c(%rip), %rsi     # 0x6a5d6
movb $0x0, %al
callq 0x7980
movq -0x250(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3b440
movq -0x250(%rbp), %rax
leaq -0x230(%rbp), %rdi
movq -0x28(%rbp), %rdx
movl 0x64(%rax), %ecx
movl 0x60(%rax), %r8d
leaq 0x2dc10(%rip), %rsi     # 0x6a5e4
movb $0x0, %al
callq 0x7980
movq -0x250(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3b480
movl $0x0, -0x234(%rbp)
movslq -0x234(%rbp), %rax
movq %rax, -0x278(%rbp)
movq 0x20(%rbp), %rdi
callq 0x7390
movq %rax, %rcx
movq -0x278(%rbp), %rax
cmpq %rcx, %rax
jae 0x3cab0
movq 0x20(%rbp), %rax
movslq -0x234(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jne 0x3ca9a
movq 0x5854b(%rip), %rdi     # 0x94f88
leaq 0x2dbb3(%rip), %rsi     # 0x6a5f7
callq 0x7580
movq %rax, -0x280(%rbp)
jmp 0x3ca52
movq -0x280(%rbp), %rdi
movq 0x58568(%rip), %rsi     # 0x94fc8
callq 0x7970
jmp 0x3ca67
xorl %edi, %edi
callq 0x7660
movq -0x270(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
callq 0x3d850
movq -0x250(%rbp), %rdi
callq 0x3b420
jmp 0x3cab9
jmp 0x3ca9c
movl -0x234(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x234(%rbp)
jmp 0x3c9f8
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq -0x240(%rbp), %rdi
callq 0x7600
nopw %cs:(%rax,%rax)
nop