// File: halfflat[P]tinyopt/include/tinyopt/tinyopt.h
// Function: to::delimited_parser<to::default_parser<int>>::operator()(char const*) const
maybe<std::vector<inner_value_type>> operator()(const char* text) const {
        if (!text) return nothing;

        std::vector<inner_value_type> values;
        if (!*text) return values;

        std::size_t n = std::strlen(text);
        std::vector<char> input(1+n);
        std::copy(text, text+n, input.data());

        char* p = input.data();
        char* end = input.data()+1+n;
        do {
            char* q = p;
            while (*q && *q!=delim_) ++q;
            *q++ = 0;

            if (auto mv = parse_(p)) values.push_back(*mv);
            else return nothing;

            p = q;
        } while (p<end);

        return values;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0xb0(%rbp)
movq %rdi, %rax
movq %rax, -0xa8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x5a19b
movq -0xb0(%rbp), %rdi
callq 0x5cb00
jmp 0x5a418
leaq -0x38(%rbp), %rdi
callq 0x5a610
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x5a1dc
movq -0xb0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x5cb20
jmp 0x5a1bf
movl $0x1, -0x48(%rbp)
jmp 0x5a402
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5a40d
movq -0x18(%rbp), %rdi
callq 0x10300
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
incq %rax
movq %rax, -0xc0(%rbp)
leaq -0x69(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x10e10
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
leaq -0x68(%rbp), %rdi
callq 0x5cb50
jmp 0x5a220
leaq -0x69(%rbp), %rdi
callq 0x10810
movq -0x18(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x50(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xc8(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5cc00
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
movq %rax, %rdx
callq 0x5cbc0
jmp 0x5a263
leaq -0x68(%rbp), %rdi
callq 0x5cc00
movq %rax, -0x78(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5cc00
addq $0x1, %rax
addq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rcx
xorl %eax, %eax
cmpb $0x0, (%rcx)
movb %al, -0xd1(%rbp)
je 0x5a2c3
movq -0xa0(%rbp), %rcx
movq -0x88(%rbp), %rax
movsbl (%rax), %eax
movsbl (%rcx), %ecx
cmpl %ecx, %eax
setne %al
movb %al, -0xd1(%rbp)
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x5a2cf
jmp 0x5a30e
movq -0x88(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x88(%rbp)
jmp 0x5a290
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x69(%rbp), %rdi
callq 0x10810
jmp 0x5a40d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5a3f7
movq -0xa0(%rbp), %rsi
movq -0x88(%rbp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, -0x88(%rbp)
movb $0x0, (%rax)
incq %rsi
movq -0x78(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x1f7a0
jmp 0x5a341
leaq -0x90(%rbp), %rdi
callq 0x1d690
testb $0x1, %al
jne 0x5a353
jmp 0x5a389
leaq -0x90(%rbp), %rdi
callq 0x1d6f0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x5cc20
jmp 0x5a36d
jmp 0x5a39e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x1d710
jmp 0x5a3f7
movq -0xb0(%rbp), %rdi
callq 0x5cb00
movl $0x1, -0x48(%rbp)
jmp 0x5a3a5
movl $0x0, -0x48(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x1d710
movl -0x48(%rbp), %eax
testl %eax, %eax
jne 0x5a3ec
jmp 0x5a3ba
movq -0x88(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
cmpq -0x80(%rbp), %rax
jb 0x5a285
movq -0xb0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x5cb20
jmp 0x5a3e5
movl $0x1, -0x48(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5cc90
jmp 0x5a402
leaq -0x68(%rbp), %rdi
callq 0x5cc90
jmp 0x5a40d
leaq -0x38(%rbp), %rdi
callq 0x5a590
jmp 0x5a418
leaq -0x38(%rbp), %rdi
callq 0x5a590
jmp 0x5a428
movq -0xa8(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)