diff options
author | Jakub Kuderski <jakub@nod-labs.com> | 2025-04-15 23:44:33 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-15 23:44:33 -0400 |
commit | b07c88563febdb62b82daad0480d7b6131bc54d4 (patch) | |
tree | f730db90f03994830170f9ff4d2c0dbbc6b2a903 /clang/lib/AST/ByteCode/Program.cpp | |
parent | a024d13f84dbe7b3d1eee555ddc82cdd1af814e0 (diff) | |
download | llvm-b07c88563febdb62b82daad0480d7b6131bc54d4.zip llvm-b07c88563febdb62b82daad0480d7b6131bc54d4.tar.gz llvm-b07c88563febdb62b82daad0480d7b6131bc54d4.tar.bz2 |
[Support] Add format object for interleaved ranges (#135517)
Add two new format functions for printing ranges: `interleaved` and
`interleaved_array`.
This is meant to improve the ergonomics of printing ranges. Before this
patch, we have to either use `llvm::interleave` or write a for loop by
hand. For example:
Before:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG({
llvm::dbgs() << "Types: ";
llvm::interleave_comma(llvm::dbgs(), types);
llvm::dbgs() << "\n";
llvm::dbgs() << "Values: [";
llvm::interleave_comma(llvm::dbgs(), values);
llvm::dbgs() << "]\n";
}):
```
After:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG(llvm::dbgs() << "Types: " << interleaved(types) << "\n");
LLVM_DEBUG(llvm::dbgs() << "Values: " << interleaved_array(values) << "\n");
```
The separator and the prefix/suffix strings are customizable.
Diffstat (limited to 'clang/lib/AST/ByteCode/Program.cpp')
0 files changed, 0 insertions, 0 deletions