Add -position and -isAtEnd for use when manually parsing input streams.

This commit is contained in:
Thomas Van Lenten 2016-04-01 12:26:15 -04:00
parent 099ff1ea14
commit 331cee5022
2 changed files with 17 additions and 0 deletions

View file

@ -109,6 +109,15 @@ NS_ASSUME_NONNULL_BEGIN
/// or until an endgroup tag, whichever comes first.
- (void)skipMessage;
/// Check to see if the logical end of the stream has been reached.
///
/// This can return NO when there is no more data, but the current parsing
/// expected more data.
- (BOOL)isAtEnd;
/// The offset into the stream.
- (size_t)position;
/// Verifies that the last call to @c -readTag returned the given tag value.
/// This is used to verify that a nested group ended with the correct end tag.
/// Throws @c NSParseErrorException if value does not match the last tag.

View file

@ -359,6 +359,14 @@ void GPBCodedInputStreamCheckLastTagWas(GPBCodedInputStreamState *state,
}
}
- (BOOL)isAtEnd {
return GPBCodedInputStreamIsAtEnd(&state_);
}
- (size_t)position {
return state_.bufferPos;
}
- (double)readDouble {
return GPBCodedInputStreamReadDouble(&state_);
}