[c++] Permit heterogeneous container lookup and use it in base::CommandLine.

base::CommandLine works around the fact that std::map did not previously
support lookup by a key type other than the one stored in the map (like
const char* or base::StringPiece), and maintained a second map to allow
lookup by StringPiece without allocation. This can now be done directly
on |switches_| using C++14 heterogeneous lookup.

Sites which refer to base::CommandLine::SwitchMap without using the alias
are rewritten to refer to the alias, since this affects the type of the
map. (This is more concise anyhow.)

Bug: 554717
Change-Id: Ieee179206cc5a35b4ab9ded183d5f46529a730ce
Reviewed-on: https://chromium-review.googlesource.com/616262
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512906}

CrOS-Libchrome-Original-Commit: 863386d2cb0b88e41d8f720227930b9b1ad071cc
2 files changed
tree: 87ee0e03787edad932efc9b8cdf4e154e8b59f1c
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/