[Lldb-commits] [PATCH] D77327: [nfc] [lldb] 2/2: Introduce DWARF callbacks

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 6 08:06:16 PDT 2020


jankratochvil marked 2 inline comments as done.
jankratochvil added inline comments.


================
Comment at: lldb/include/lldb/Core/UniqueCStringMap.h:130-163
+  bool GetValues(ConstString unique_cstr,
+                 std::function<bool(T value)> callback) const {
+    for (const Entry &entry : llvm::make_range(std::equal_range(
+             m_map.begin(), m_map.end(), unique_cstr, Compare())))
+      if (callback(entry.value))
+        return true;
+
----------------
labath wrote:
> I'm not sure these functions are really needed. They have just one caller, and they'd be trivial if this class provided appropriate abstractions. Maybe just add begin/end/equal_range methods, so that one can write:
> ```
> for (value: map / map.equal_range(str))
>   stuff
> ```
> ?
> 
> (ideally, I'd like to have iterators instead of callbacks for the index classes too, but iterators and class hierarchies don't mix very well)
Do you mean the standard iteration:
```
for (std::pair<ConstString, DIERef> pair : map)
  stuff;
```
or really
```
for (DIERef ref : map)
  stuff;
```
?



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77327/new/

https://reviews.llvm.org/D77327





More information about the lldb-commits mailing list