[llvm] [ADT] Add a range/iterator-based Split()
authorMichał Górny <mgorny@moritz.systems>
Sun, 26 Sep 2021 12:07:21 +0000 (14:07 +0200)
committerMichał Górny <mgorny@moritz.systems>
Mon, 27 Sep 2021 08:43:09 +0000 (10:43 +0200)
commitf4b71e3479bfaec71ba5f4bb56c6a34357a7f938
tree5788c74fc9ad8b8478ca30ceb6a97ce091cf4f43
parent66d9d1012b031e7f7559e8f0e03b9e7bfb6c20a1
[llvm] [ADT] Add a range/iterator-based Split()

Add a llvm::Split() implementation that can be used via range-for loop,
e.g.:

    for (StringRef x : llvm::Split("foo,bar,baz", ','))
      ...

The implementation uses an additional SplittingIterator class that
uses StringRef::split() internally.

Differential Revision: https://reviews.llvm.org/D110496
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
llvm/include/llvm/ADT/StringExtras.h
llvm/unittests/ADT/StringExtrasTest.cpp