// File: istellartech[P]OpenTsiolkovsky/src/../lib/csv.h
// Function: bool io::CSVReader<2u, io::trim_chars<(char)32, (char)9>, io::no_quote_escape<(char)44>, io::throw_on_overflow, io::no_comment>::read_row<double, double>(double&, double&)
bool read_row(ColType& ...cols){
                        static_assert(sizeof...(ColType)>=column_count,
                                "not enough columns specified");
                        static_assert(sizeof...(ColType)<=column_count,
                                "too many columns specified");
                        try{
                                try{
       
                                        char*line;
                                        do{
                                                line = in.next_line();
                                                if(!line)
                                                        return false;
                                        }while(comment_policy::is_comment(line));
                                       
                                        detail::parse_line<trim_policy, quote_policy>
                                                (line, row, col_order);
               
                                        parse_helper(0, cols...);
                                }catch(error::with_file_name&err){
                                        err.set_file_name(in.get_truncated_file_name());
                                        throw;
                                }
                        }catch(error::with_file_line&err){
                                err.set_file_line(in.get_file_line());
                                throw;
                        }

                        return true;
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x41580
movq %rax, -0x58(%rbp)
jmp 0x3d11b
movq -0x58(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x3d183
movb $0x0, -0x1(%rbp)
jmp 0x3d241
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x3d1e4
movq -0x30(%rbp), %rdi
callq 0x61d0
movq -0x50(%rbp), %rdi
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0x41cd0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
callq 0x40600
callq 0x6630
jmp 0x3d25d
jmp 0x3d185
movq -0x28(%rbp), %rdi
callq 0x41990
testb $0x1, %al
jne 0x3d10c
movq -0x50(%rbp), %rdx
movq -0x28(%rbp), %rdi
movq %rdx, %rsi
addq $0x1d0, %rsi            # imm = 0x1D0
addq $0x220, %rdx            # imm = 0x220
callq 0x42df0
jmp 0x3d1b6
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0x42fa0
jmp 0x3d1cd
jmp 0x3d226
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x66f0
jmp 0x3d1e2
jmp 0x3d1e4
movl -0x34(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x3d24c
movq -0x30(%rbp), %rdi
callq 0x61d0
movq -0x50(%rbp), %rdi
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x70(%rbp)
callq 0x430f0
movl %eax, -0x64(%rbp)
jmp 0x3d213
movl -0x64(%rbp), %esi
movq -0x70(%rbp), %rdi
callq 0x41ec0
callq 0x6630
jmp 0x3d25d
jmp 0x3d23d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x66f0
jmp 0x3d23b
jmp 0x3d24c
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x67a0
movq %rax, %rdi
callq 0x8700
nopl (%rax)