IterPeekAt
Description
Propagating peek at signed offset n from the current position. Does not advance the iterator. Writes data[pos + n] to *out.
Success
*out is set, returns true.
Failure
pos + n is outside [0, length). *out is not written, returns false.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Iter.c:101:
IterMove(&it, 2);
u8 v;
if (!IterPeekAt(&it, 0, &v) || v != 7) {
return false;
}- In
Iter.c:104:
return false;
}
if (!IterPeekAt(&it, 1, &v) || v != 8) {
return false;
}- In
Iter.c:107:
return false;
}
if (!IterPeekAt(&it, -2, &v) || v != 5) {
return false;
}- In
Iter.c:118:
BufIter it = BufIterFromMemory(buf, 2);
u8 v = 0xAA;
if (IterPeekAt(&it, 2, &v)) {
return false;
}- In
Iter.c:124:
return false;
}
if (IterPeekAt(&it, -1, &v)) {
return false;
}- In
StrIter.h:254:
/// TAGS: StrIter, Peek, Alias
///
#define StrIterPeek(mi, out) IterPeekAt((mi), 0, (out))
///
- In
StrIter.h:271:
/// TAGS: StrIter, Peek, Offset, Alias
///
#define StrIterPeekAt(mi, n, out) IterPeekAt((mi), (n), (out))
///
- In
StrIter.h:289:
/// TAGS: StrIter, Peek, Next
///
#define StrIterPeekNext(mi, out) IterPeekAt((mi), (mi)->dir, (out))
///
- In
StrIter.h:298:
/// TAGS: StrIter, Peek, Prev
///
#define StrIterPeekPrev(mi, out) IterPeekAt((mi), -((mi)->dir), (out))
#endif // MISRA_STD_UTILITY_STR_ITER_H
- In
Access.h:158:
#define IterMustPeekAt(mi, n, out) \
do { \
if (!IterPeekAt((mi), (n), (out))) { \
LOG_FATAL("IterMustPeekAt: offset out of range"); \
} \
Last updated on