tree d41db55bf56a9f08ecd14d468fd36cfcb912ff2a
parent 997f15ecdcb2c945e1751199499ba86b1e34613c
author brettw <brettw@chromium.org> 1495223216 -0700
committer Commit bot <commit-bot@chromium.org> 1495223216 +0000

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}
