// File: /workspace/github_c_makefile_star2_O0/barabo[P]advanced-shell-history/src/ash_query.cpp
// Function: display(std::ostream&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void display(ostream & out, const RowsType & rows, const string & name) {
  RowsType::const_iterator i, e;
  const size_t XX = 4;  // The number of spaces between columns.
  size_t widths[2] = {name.size() + XX, string("Description").size() + XX};

  // Calculate the required widths for each column.
  for (i = rows.begin(), e = rows.end(); i != e; ++i) {
    widths[0] = max(widths[0], XX + (i -> first).size());
    widths[1] = max(widths[1], XX + (i -> second).size());
  }

  // Output the headings and the rows.
  cout << left
       << setw(widths[0]) << name
       << setw(widths[1]) << "Description" << endl;
  for (i = rows.begin(), e = rows.end(); i != e; ++i) {
    cout << left
         << setw(widths[0]) << i -> first
         << setw(widths[1]) << i -> second << endl;
  }
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movq %rsi, 0x108(%rsp)
movq %rdx, 0x100(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8cf40
leaq 0xf0(%rsp), %rdi
callq 0x8cf40
movq $0x4, 0xe8(%rsp)
movq 0x100(%rsp), %rdi
callq 0x8280
addq $0x4, %rax
movq %rax, 0xd0(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x87f0
movq 0x50(%rsp), %rdx
leaq 0x26bd0(%rip), %rsi     # 0xb2069
leaq 0xb0(%rsp), %rdi
callq 0x85b0
jmp 0x8b4a8
leaq 0xb0(%rsp), %rdi
callq 0x8280
movq %rax, 0x40(%rsp)
jmp 0x8b4bc
movq 0x48(%rsp), %rax
movq 0x40(%rsp), %rcx
addq $0x4, %rcx
movq %rcx, (%rax)
leaq 0xb0(%rsp), %rdi
callq 0x88f8
jmp 0x8b4dc
leaq 0xaf(%rsp), %rdi
callq 0x84a0
movq 0x108(%rsp), %rdi
callq 0x8cf70
movq %rax, 0x90(%rsp)
movq 0x90(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x8cfa0
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0xf8(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x8cfd0
testb $0x1, %al
jne 0x8b551
jmp 0x8b648
leaq 0xd0(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8d030
movq %rax, %rdi
callq 0x8280
movq 0x30(%rsp), %rdi
addq $0x4, %rax
movq %rax, 0x80(%rsp)
leaq 0x80(%rsp), %rsi
callq 0x8cff0
movq (%rax), %rax
movq %rax, 0xd0(%rsp)
leaq 0xd0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8d030
movq %rax, %rdi
addq $0x20, %rdi
callq 0x8280
movq 0x38(%rsp), %rdi
addq $0x4, %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rsi
callq 0x8cff0
movq (%rax), %rax
movq %rax, 0xd8(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8d050
jmp 0x8b533
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x8b636
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x88f8
jmp 0x8b634
jmp 0x8b636
leaq 0xaf(%rsp), %rdi
callq 0x84a0
jmp 0x8b7f9
movq 0x44969(%rip), %rdi     # 0xcffb8
leaq 0x1a2a(%rip), %rsi      # 0x8d080
callq 0x8140
movq %rax, 0x20(%rsp)
movq 0xd0(%rsp), %rax
movl %eax, %edi
callq 0x8d0a0
movq 0x20(%rsp), %rdi
movl %eax, 0x74(%rsp)
movl 0x74(%rsp), %esi
callq 0x84e0
movq %rax, %rdi
movq 0x100(%rsp), %rsi
callq 0x8350
movq %rax, 0x28(%rsp)
movq 0xd8(%rsp), %rax
movl %eax, %edi
callq 0x8d0a0
movq 0x28(%rsp), %rdi
movl %eax, 0x70(%rsp)
movl 0x70(%rsp), %esi
callq 0x84e0
movq %rax, %rdi
leaq 0x269a8(%rip), %rsi     # 0xb2069
callq 0x8400
movq %rax, %rdi
movq 0x448b8(%rip), %rsi     # 0xcff88
callq 0x8470
movq 0x108(%rsp), %rdi
callq 0x8cf70
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x8cfa0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0xf8(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x8cfd0
testb $0x1, %al
jne 0x8b731
jmp 0x8b7f1
movq 0x44880(%rip), %rdi     # 0xcffb8
leaq 0x1941(%rip), %rsi      # 0x8d080
callq 0x8140
movq %rax, (%rsp)
movq 0xd0(%rsp), %rax
movl %eax, %edi
callq 0x8d0a0
movq (%rsp), %rdi
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %esi
callq 0x84e0
movq %rax, 0x8(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8d030
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x8350
movq %rax, 0x10(%rsp)
movq 0xd8(%rsp), %rax
movl %eax, %edi
callq 0x8d0a0
movq 0x10(%rsp), %rdi
movl %eax, 0x58(%rsp)
movl 0x58(%rsp), %esi
callq 0x84e0
movq %rax, 0x18(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8d030
movq 0x18(%rsp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0x8350
movq %rax, %rdi
movq 0x447ae(%rip), %rsi     # 0xcff88
callq 0x8470
leaq 0xf8(%rsp), %rdi
callq 0x8d050
jmp 0x8b713
addq $0x118, %rsp            # imm = 0x118
retq
movq 0xa0(%rsp), %rdi
callq 0x87d0
movq %rax, %rdi
callq 0x8cf60
nop