[PATCH] D110760: [NFC] Improve file-level documentation for Sequence.h
Jakub Kuderski via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 29 12:43:55 PDT 2021
kuhar created this revision.
kuhar added reviewers: dblaikie, aaron.ballman, gchatelet.
Herald added a reviewer: grosser.
Herald added a subscriber: dexonsmith.
kuhar requested review of this revision.
Herald added a project: LLVM.
Add usage samples.
This was extracted from a bigger patch: https://reviews.llvm.org/D107378.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D110760
Files:
llvm/include/llvm/ADT/Sequence.h
Index: llvm/include/llvm/ADT/Sequence.h
===================================================================
--- llvm/include/llvm/ADT/Sequence.h
+++ llvm/include/llvm/ADT/Sequence.h
@@ -6,9 +6,30 @@
//
//===----------------------------------------------------------------------===//
/// \file
-/// This routine provides some synthesis utilities to produce sequences of
-/// values. The names are intentionally kept very short as they tend to occur
-/// in common and widely used contexts.
+/// Provides some synthesis utilities to produce sequences of values. The names
+/// are intentionally kept very short as they tend to occur in common and
+/// widely used contexts.
+///
+/// The `seq(A, B)` function produces a sequence of values from `A` to up to
+/// (but not including) `B`, i.e., [`A`, `B`), that can be safely iterated over.
+/// `seq` supports both integral (e.g., `int`, `char`, `uint32_t`) and enum
+/// types. `seq_inclusive(A, B)` produces a sequence of values from `A` to `B`,
+/// including `B`.
+///
+/// Examples with integral types:
+/// ```
+/// for (int x : seq(0, 3))
+/// outs() << x << " ";
+/// ```
+///
+/// Prints: `0 1 2 `.
+///
+/// ```
+/// for (int x : seq_inclusive(0, 3))
+/// outs() << x << " ";
+/// ```
+///
+/// Prints: `0 1 2 3 `.
///
//===----------------------------------------------------------------------===//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110760.375997.patch
Type: text/x-patch
Size: 1368 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210929/5ce2e718/attachment.bin>
More information about the llvm-commits
mailing list