Add a GDB pretty printer for base::flat_map.

This improves the output somewhat. As explained in the added comment, it's
not ideal but I had trouble figuring out how to work with the vector inside
of the flat_map without hardcoding internals of how std::vector is implemented.

This also adds some hints about debugging the printers at the top of the file.

Before for base::flat_map<std::string, int>:

(gdb) print qwer
$2 = {<base::internal::flat_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>, base::internal::GetKeyFromValuePairFirst<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {
    impl_ = {<base::internal::flat_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>, base::internal::GetKeyFromValuePairFirst<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_compare> = {<std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, body_ = std::__debug::vector of length 3, capacity 4 = {{
          first = "a", second = 1}, {first = "nonsense", second = 9}, {
          first = "zebra", second = 1123123}}}}, <No data fields>}

After:

base: :flat_map with std::__debug::vector of length 3, capacity 4 = {{first = "a", second = 1}, {first = "nonsense", second = 9}, {first = "zebra", second = 1123123}}
Review-Url: https://codereview.chromium.org/2897573004
Cr-Commit-Position: refs/heads/master@{#473286}
1 file changed