forked from OSchip/llvm-project
[NFC] Improve file-level documentation for Sequence.h
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
This commit is contained in:
parent
a6fc555202
commit
7bb47a046f
|
@ -6,9 +6,30 @@
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
/// \file
|
/// \file
|
||||||
/// This routine provides some synthesis utilities to produce sequences of
|
/// Provides some synthesis utilities to produce sequences of values. The names
|
||||||
/// values. The names are intentionally kept very short as they tend to occur
|
/// are intentionally kept very short as they tend to occur in common and
|
||||||
/// in common and widely used contexts.
|
/// 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 `.
|
||||||
///
|
///
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue