Skip to content

Commit

Permalink
[NFC] Improve file-level documentation for Sequence.h
Browse files Browse the repository at this point in the history
Add usage samples.

This was extracted from a bigger patch: https://reviews.llvm.org/D107378.

Reviewed By: aaron.ballman, gchatelet

Differential Revision: https://reviews.llvm.org/D110760
  • Loading branch information
kuhar committed Sep 30, 2021
1 parent a6fc555 commit 7bb47a0
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions llvm/include/llvm/ADT/Sequence.h
Expand Up @@ -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 `.
///
//===----------------------------------------------------------------------===//

Expand Down

0 comments on commit 7bb47a0

Please sign in to comment.