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

pull/1378/head
Thomas Van Lenten 9 years ago
parent 099ff1ea14
commit 331cee5022
  1. 9
      objectivec/GPBCodedInputStream.h
  2. 8
      objectivec/GPBCodedInputStream.m

@ -109,6 +109,15 @@ NS_ASSUME_NONNULL_BEGIN
/// or until an endgroup tag, whichever comes first. /// or until an endgroup tag, whichever comes first.
- (void)skipMessage; - (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. /// 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. /// 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. /// Throws @c NSParseErrorException if value does not match the last tag.

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

Loading…
Cancel
Save