// File: statgen[P]statgen/lib/tclap-1.2.0/examples/../include/tclap/StdOutput.h
// Function: TCLAP::StdOutput::_shortUsage(TCLAP::CmdLineInterface&, std::ostream&) const
inline void 
StdOutput::_shortUsage( CmdLineInterface& _cmd, 
						std::ostream& os ) const
{
	std::list<Arg*> argList = _cmd.getArgList();
	std::string progName = _cmd.getProgramName();
	XorHandler xorHandler = _cmd.getXorHandler();
	std::vector< std::vector<Arg*> > xorList = xorHandler.getXorList();

	std::string s = progName + " ";

	// first the xor
	for ( int i = 0; static_cast<unsigned int>(i) < xorList.size(); i++ )
		{
			s += " {";
			for ( ArgVectorIterator it = xorList[i].begin(); 
				  it != xorList[i].end(); it++ )
				s += (*it)->shortID() + "|";

			s[s.length()-1] = '}';
		}

	// then the rest
	for (ArgListIterator it = argList.begin(); it != argList.end(); it++)
		if ( !xorHandler.contains( (*it) ) )
			s += " " + (*it)->shortID();

	// if the program name is too long, then adjust the second line offset 
	int secondLineOffset = static_cast<int>(progName.length()) + 2;
	if ( secondLineOffset > 75/2 )
		secondLineOffset = static_cast<int>(75/2);

	spacePrint( os, s, 75, 3, secondLineOffset );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
callq 0x8e90
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x50(%rax), %rax
callq *%rax
movq %rax, -0x1c8(%rbp)
jmp 0x57b1
movq -0x1c8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x40f0
jmp 0x57c3
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x60(%rax), %rax
callq *%rax
movq %rax, -0x1d8(%rbp)
jmp 0x57d9
movq -0x1d8(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x8f50
jmp 0x57eb
leaq -0x78(%rbp), %rdi
callq 0x8f80
movq %rax, -0x1e0(%rbp)
jmp 0x57fd
movq -0x1e0(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x8f90
jmp 0x5812
leaq 0xdc05(%rip), %rdx      # 0x1341e
leaq -0xb0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x8e10
jmp 0x582b
movl $0x0, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
movq %rax, -0x1e8(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x9080
movq %rax, %rcx
movq -0x1e8(%rbp), %rax
cmpq %rcx, %rax
jae 0x5ac2
leaq 0xd85f(%rip), %rsi      # 0x130c7
leaq -0xb0(%rbp), %rdi
callq 0x4240
jmp 0x5876
movslq -0xb4(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x90b0
movq %rax, %rdi
callq 0x90d0
movq %rax, -0xc0(%rbp)
movslq -0xb4(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x90b0
movq %rax, %rdi
callq 0x9140
movq %rax, -0xc8(%rbp)
leaq -0xc0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x9100
testb $0x1, %al
jne 0x58d6
jmp 0x5a76
leaq -0xc0(%rbp), %rdi
callq 0x91c0
movq (%rax), %rax
movq %rax, -0x1f8(%rbp)
leaq -0x129(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x4430
movq -0x1f0(%rbp), %rdx
leaq 0xd7bd(%rip), %rsi      # 0x130ca
leaq -0x128(%rbp), %rdi
callq 0x5110
jmp 0x591b
movq -0x1f8(%rbp), %rsi
movq (%rsi), %rax
movq 0x40(%rax), %rax
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rdx
callq *%rax
jmp 0x593b
leaq 0xd78c(%rip), %rdx      # 0x130ce
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x9170
jmp 0x5957
leaq -0xb0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x4330
jmp 0x596c
leaq -0xe8(%rbp), %rdi
callq 0x44d8
leaq -0x108(%rbp), %rdi
callq 0x44d8
leaq -0x128(%rbp), %rdi
callq 0x44d8
leaq -0x129(%rbp), %rdi
callq 0x42b0
leaq -0xc0(%rbp), %rdi
xorl %esi, %esi
callq 0x91e0
movq %rax, -0x138(%rbp)
jmp 0x5898
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5d33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5d2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5d21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5d15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5d09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5a65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5a59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5a4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x44d8
leaq -0x108(%rbp), %rdi
callq 0x44d8
leaq -0x128(%rbp), %rdi
callq 0x44d8
leaq -0x129(%rbp), %rdi
callq 0x42b0
jmp 0x5d09
leaq -0xb0(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x4390
movq -0x208(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x44c0
movq %rax, -0x200(%rbp)
jmp 0x5aa4
movq -0x200(%rbp), %rax
movb $0x7d, (%rax)
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0x5835
leaq -0x30(%rbp), %rdi
callq 0x9220
movq %rax, -0x140(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x9280
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x9250
testb $0x1, %al
jne 0x5afe
jmp 0x5c7d
leaq -0x140(%rbp), %rdi
callq 0x9390
movq (%rax), %rsi
leaq -0x78(%rbp), %rdi
callq 0x92b0
movb %al, -0x209(%rbp)
jmp 0x5b1e
movb -0x209(%rbp), %al
testb $0x1, %al
jne 0x5c61
jmp 0x5b2e
leaq -0x140(%rbp), %rdi
callq 0x9390
movq (%rax), %rax
movq %rax, -0x220(%rbp)
leaq -0x1a9(%rbp), %rdi
movq %rdi, -0x218(%rbp)
callq 0x4430
movq -0x218(%rbp), %rdx
leaq 0xd565(%rip), %rsi      # 0x130ca
leaq -0x1a8(%rbp), %rdi
callq 0x5110
jmp 0x5b73
movq -0x220(%rbp), %rsi
movq (%rsi), %rax
movq 0x40(%rax), %rax
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rdx
callq *%rax
jmp 0x5b93
leaq 0xd884(%rip), %rsi      # 0x1341e
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rdx
callq 0x93b0
jmp 0x5baf
leaq -0xb0(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x4330
jmp 0x5bc4
leaq -0x168(%rbp), %rdi
callq 0x44d8
leaq -0x188(%rbp), %rdi
callq 0x44d8
leaq -0x1a8(%rbp), %rdi
callq 0x44d8
leaq -0x1a9(%rbp), %rdi
callq 0x42b0
jmp 0x5c61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5c50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5c44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x5c38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x44d8
leaq -0x188(%rbp), %rdi
callq 0x44d8
leaq -0x1a8(%rbp), %rdi
callq 0x44d8
leaq -0x1a9(%rbp), %rdi
callq 0x42b0
jmp 0x5d09
jmp 0x5c63
leaq -0x140(%rbp), %rdi
xorl %esi, %esi
callq 0x9400
movq %rax, -0x1b8(%rbp)
jmp 0x5ad2
leaq -0x50(%rbp), %rdi
callq 0x4390
addl $0x2, %eax
movl %eax, -0x1bc(%rbp)
cmpl $0x25, -0x1bc(%rbp)
jle 0x5ca2
movl $0x25, -0x1bc(%rbp)
movq -0x1d0(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1bc(%rbp), %r9d
leaq -0xb0(%rbp), %rdx
movl $0x4b, %ecx
movl $0x3, %r8d
callq 0x9430
jmp 0x5ccd
leaq -0xb0(%rbp), %rdi
callq 0x44d8
leaq -0x90(%rbp), %rdi
callq 0x96f0
leaq -0x78(%rbp), %rdi
callq 0x6570
leaq -0x50(%rbp), %rdi
callq 0x44d8
leaq -0x30(%rbp), %rdi
callq 0x6550
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
leaq -0xb0(%rbp), %rdi
callq 0x44d8
leaq -0x90(%rbp), %rdi
callq 0x96f0
leaq -0x78(%rbp), %rdi
callq 0x6570
leaq -0x50(%rbp), %rdi
callq 0x44d8
leaq -0x30(%rbp), %rdi
callq 0x6550
movq -0x58(%rbp), %rdi
callq 0x4420
nopw %cs:(%rax,%rax)
nop