// File: /workspace/github_cpp_makefile_star2_O1/istellartech[P]OpenTsiolkovsky/src/../lib/csv.h
// Function: void io::detail::parse_line<io::trim_chars<(char)32, (char)9>, io::no_quote_escape<(char)44>>(char*, char**, std::vector<int, std::allocator<int>> const&)
void parse_line(
                        char*line,
                        char**sorted_col,
                        const std::vector<int>&col_order
                ){
                        for(std::size_t i=0; i<col_order.size(); ++i){
                                if(line == nullptr)
                                        throw ::io::error::too_few_columns();
                                char*col_begin, *col_end;
                                chop_next_column<quote_policy>(line, col_begin, col_end);

                                if(col_order[i] != -1){
                                        trim_policy::trim(col_begin, col_end);
                                        quote_policy::unescape(col_begin, col_end);
                                                               
                                        sorted_col[col_order[i]] = col_begin;
                                }
                        }
                        if(line != nullptr)
                                throw ::io::error::too_many_columns();
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x8(%rdx), %rax
cmpq (%rdx), %rax
je 0x20153
movq %rdx, %rbx
movq %rsi, %r14
xorl %ebp, %ebp
leaq 0x10(%rsp), %r15
leaq 0x8(%rsp), %r12
movq %rsp, %r13
cmpq $0x0, 0x10(%rsp)
je 0x2016a
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x1fe99
movq (%rbx), %rax
cmpl $-0x1, (%rax,%rbp,4)
je 0x2013c
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movzbl (%rax), %edx
cmpl $0x20, %edx
je 0x200fa
cmpl $0x9, %edx
jne 0x20109
cmpq %rcx, %rax
je 0x20109
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x200ed
movq (%rsp), %rcx
movzbl -0x1(%rcx), %edx
cmpl $0x20, %edx
je 0x2011b
cmpl $0x9, %edx
jne 0x20129
cmpq %rax, %rcx
je 0x20129
decq %rcx
movq %rcx, (%rsp)
jmp 0x2010d
movb $0x0, (%rcx)
movq 0x8(%rsp), %rax
movq (%rbx), %rcx
movslq (%rcx,%rbp,4), %rcx
movq %rax, (%r14,%rcx,8)
incq %rbp
movq 0x8(%rbx), %rax
subq (%rbx), %rax
sarq $0x2, %rax
cmpq %rax, %rbp
jb 0x200c1
cmpq $0x0, 0x10(%rsp)
jne 0x201cd
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x210, %edi            # imm = 0x210
callq 0x51e0
movq %rax, %rbx
movl $0x210, %edx            # imm = 0x210
movq %rax, %rdi
xorl %esi, %esi
callq 0x5230
leaq 0x12753(%rip), %rax     # 0x328e0
movq %rax, (%rbx)
leaq 0x108(%rbx), %rdi
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x5230
movl $0xffffffff, 0x208(%rbx) # imm = 0xFFFFFFFF
leaq 0x12aa4(%rip), %rax     # 0x32c58
movq %rax, (%rbx)
leaq 0x129fa(%rip), %rsi     # 0x32bb8
movq 0x12e0b(%rip), %rdx     # 0x32fd0
movq %rbx, %rdi
callq 0x5620
movl $0x210, %edi            # imm = 0x210
callq 0x51e0
movq %rax, %rbx
movl $0x210, %edx            # imm = 0x210
movq %rax, %rdi
xorl %esi, %esi
callq 0x5230
leaq 0x126f0(%rip), %rax     # 0x328e0
movq %rax, (%rbx)
leaq 0x108(%rbx), %rdi
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x5230
movl $0xffffffff, 0x208(%rbx) # imm = 0xFFFFFFFF
leaq 0x12a71(%rip), %rax     # 0x32c88
movq %rax, (%rbx)
leaq 0x129df(%rip), %rsi     # 0x32c00
jmp 0x201be
nop