// File: istellartech[P]OpenTsiolkovsky/src/../lib/csv.h
// Function: void io::CSVReader<2u, io::trim_chars<(char)32, (char)9>, io::no_quote_escape<(char)44>, io::throw_on_overflow, io::no_comment>::read_header<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void read_header(ignore_column ignore_policy, ColNames...cols){
                        static_assert(sizeof...(ColNames)>=column_count, "not enough column names specified");
                        static_assert(sizeof...(ColNames)<=column_count, "too many column names specified");
                        try{
                                set_column_names(std::forward<ColNames>(cols)...);

                                char*line;
                                do{
                                        line = in.next_line();
                                        if(!line)
                                                throw error::header_missing();
                                }while(comment_policy::is_comment(line));

                                detail::parse_header_line
                                        <column_count, trim_policy, quote_policy>
                                        (line, col_order, column_names, ignore_policy);
                        }catch(error::with_file_name&err){
                                err.set_file_name(in.get_truncated_file_name());
                                throw;
                        }
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdx, -0xa8(%rbp)
movl %esi, %eax
movq -0xa8(%rbp), %rsi
movq %rcx, -0xa0(%rbp)
movq %rdi, -0x8(%rbp)
movl %eax, -0xc(%rbp)
movq %rsi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x62d0
movq -0xa0(%rbp), %rsi
leaq -0x60(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x62d0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
callq 0x41500
jmp 0x3ce7f
leaq -0x60(%rbp), %rdi
callq 0x68a8
leaq -0x40(%rbp), %rdi
callq 0x68a8
movq -0x98(%rbp), %rdi
callq 0x41580
movq %rax, -0xb0(%rbp)
jmp 0x3cea6
movq -0xb0(%rbp), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
jne 0x3cfb9
movl $0x208, %edi            # imm = 0x208
movq %rdi, -0xc8(%rbp)
callq 0x6250
movq -0xc8(%rbp), %rdx
movq %rax, %rdi
movq %rdi, -0xb8(%rbp)
movq %rdi, %rax
movq %rax, -0xc0(%rbp)
xorl %esi, %esi
callq 0x62a0
movq -0xb8(%rbp), %rdi
callq 0x41920
jmp 0x3cefd
movq -0xc0(%rbp), %rdi
leaq 0x3ba35(%rip), %rsi     # 0x78940
leaq 0x4a5e(%rip), %rdx      # 0x41970
callq 0x6760
jmp 0x3d033
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x68a8
leaq -0x40(%rbp), %rdi
callq 0x68a8
jmp 0x3cf62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x3cf62
movq -0xc0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
callq 0x6350
movl -0x6c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x3d022
movq -0x68(%rbp), %rdi
callq 0x61d0
movq -0x98(%rbp), %rdi
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0xd8(%rbp)
callq 0x41cd0
movq %rax, -0xd0(%rbp)
jmp 0x3cf9f
movq -0xd0(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x40600
callq 0x6630
jmp 0x3d033
jmp 0x3cfbb
movq -0x78(%rbp), %rdi
callq 0x41990
movb %al, -0xd9(%rbp)
jmp 0x3cfcc
movb -0xd9(%rbp), %al
testb $0x1, %al
jne 0x3ce91
jmp 0x3cfdc
movq -0x98(%rbp), %rdx
movq -0x78(%rbp), %rdi
movq %rdx, %rsi
addq $0x220, %rsi            # imm = 0x220
addq $0x1e0, %rdx            # imm = 0x1E0
movl -0xc(%rbp), %ecx
callq 0x419a0
jmp 0x3d002
jmp 0x3d019
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
callq 0x66f0
jmp 0x3d017
jmp 0x3d022
addq $0xe0, %rsp
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0x67a0
movq %rax, %rdi
callq 0x8700
nopw %cs:(%rax,%rax)
nopl (%rax)