FParsecCS Calculates: end - begin.
Precondition: 2^31 > end - begin >= 0.
Calculates: end - begin.
Precondition: end - begin >= 0.
Copies size bytes from src to dst. Correctly handles overlapped memory blocks. An opaque representation of a CharStream index. Returns -1 if the IndexToken was zero-initialized. Provides read‐access to a sequence of UTF‐16 chars. Points to the current char in Buffer, or is null if the end of the stream has been reached. Equals Ptr == null ? null : BufferBegin. Equals Ptr == null ? null : BufferEnd. Begin of the used part of the char buffer. Is constant. Is null if the CharStream is empty. End of the used part of the char buffer. Varies for a multi-block stream. Is null if the CharStream is empty. The block currently loaded in the buffer. Any CharStream method or property setter increments this value when it changes the CharStream state. Backtracking to an old state also restores the old value of the StateTag. The string holding the char buffer, or null if the buffer is not part of a .NET string. A pointer to the beginning of BufferString, or null if BufferString is null. Holds the GCHandle for CharStreams directly constructed from strings or char arrays. Holds the StringBuffer for CharStreams constructed from a binary stream. we modify this flag via reflection in the unit test Returns an iterator pointing to the given index in the stream, or to the end of the stream if the indexed position lies beyond the last char in the stream. The index is negative or less than the BeginIndex. Accessing the char with the given index requires seeking in the underlying byte stream, but the byte stream does not support seeking or the Encoding's Decoder is not serializable. An I/O error occured. The input stream contains invalid bytes and the encoding was constructed with the throwOnInvalidBytes option. The input stream contains invalid bytes for which the decoder fallback threw this exception. Can not allocate enough memory for the internal data structure. Method is called after the stream was disposed. The index of the first char in the stream. The line number for the next char. (The line count starts with 1.) The stream index of the first char of the line that also contains the next char. The UTF‐16 column number of the next char, i.e. Index ‐ LineBegin + 1. The Encoding that is used for decoding the underlying byte stream, or System.Text.UnicodeEncoding in case the stream was directly constructed from a string or char buffer. the byte stream index of the first char in the block after the OverhangCharsAtBlockBegin the value of the CharStream's ByteBufferIndex before the block is read the number of bytes in the stream from ByteIndex to the first char after the OverhangCharsAfterOverlap the last char in the overlap with the previous block (used for integrity checking) chars at the block begin that were already read together with chars of the last block before the overlap chars after the overlap with the previous block that were already read together with the overlap chars Contains the data and methods needed in case the input byte stream is large enough to span multiple blocks of the CharStream. The index of the last block of the stream, or Int32.MaxValue if the end of stream has not yet been detected. BufferBegin + BlockSize - minRegexSpace Refills the ByteBuffer if no unused byte is remaining. Returns the number of unused bytes in the (refilled) ByteBuffer. Refills the ByteBuffer starting at the given index. If the underlying byte stream contains enough bytes, the ByteBuffer is filled up to the ByteBuffer.Length. Returns the number of bytes available for consumption in the refilled ByteBuffer. Reads up to the given maximum number of chars into the given buffer. If more than the maximum number of chars have to be read from the stream in order to fill the buffer (due to the way the Decoder API works), the overhang chars are returned through the output parameter. Returns a pointer to one char after the last char read. Reads a block of chars (which must be different from the current block) into the BufferString. If the current CharStream block is block - 1, this method seeks the CharStream to the first char after the overlap of the two blocks. Otherwise it seeks the CharStream to the first char in the block. It returns the CharStream.Ptr value at the new position (which can be null). The byte stream index of the first unused byte in the ByteBuffer. Provides read‐access to a sequence of UTF‐16 chars. Contains the serialized state of on object. Deserializes the object state into a new object. Returns a cloner for the given run-time type. The run-time type of the objects to clone. The type must be serializable. Copies the given object using the serialization API. The object to clone. instance.GetType() must equal the Type the Cloner was created for. Returns an image of the given object instance. The object to capture an image of. Returns the public and non-public fields of the type (and its base types), except fields with the NonSerialized attribute. In the returned array fields from derived types come before fields from base types. Fills the Strongly StronglyConnectedComponent fields of the states passed in the array. Returns an array mapping each state to an integer component identifier. The object states to traverse. The object with array index 0 is ignored. All other objects are assumed to be reachable from the object with array index 1. Returns an array with the topologically sorted indices of the states. In the returned array the indices of states belonging to the same strongly connected component are adjacent (but the order within a strongly connected component is undefined). The object states to traverse. The object with array index 0 is ignored. All other objects are assumed to be reachable from the object with array index 1. May be null. Indices of nested objects in the object graph. May be null. May be null. For reference types it's faster to call Instance.Equals directly (due to limitations of the inliner of the .NET JIT.) Forwards all work to F#'s GenericEqualityERComparer. Returns the normalized string, or null in case an invalid identifier character is found. If an invalid character is found, the string index of the invalid character is assigned to the out parameter, otherwise -1. The length of LhsOps and RhsOps. Must be a power of 2. ParsePrefixOp returns this value to signal that it backtracked and we should try to parse a term. Can not be readonly because it is passed as as a ref (for performance reasons), but it is never mutated. Parses the following prefix operators, plus the expression the operators apply to. Parses (higher-precedence) infix and postfix operators after the first term, together with the argument expressions. A substring of a pinned string on the large object heap. StringBuffers are cached in a pool and hence need to be properly disposed. Sum of the lengths of all currently allocated StringBuffers the last allocated segment String.Length - x, where x > 0 Detects the presence of an encoding preamble in the first count bytes of the byte buffer. If detectEncoding is false, this function only searches for the preamble of the given default encoding, otherwise also for any of the standard unicode byte order marks (UTF-8, UTF-16 LE/BE, UTF-32 LE/BE). If an encoding different from the given default encoding is detected, the new encoding is assigned to the encoding reference. Returns the number of bytes in the detected preamble, or 0 if no preamble is detected. Reads all remaining chars into the given buffer. If the remaining stream content holds more than the given maximum number of chars, an exception will be thrown. Returns a case-folded copy of the string argument. All chars are mapped using the (non-Turkic) 1-to-1 case folding mappings (v. 6.0) for Unicode code points in the Basic Multilingual Plane, i.e. code points below 0x10000. If the argument is null, null is returned. Returns the given string with all occurrences of "\r\n" and "\r" replaced by "\n". If the argument is null, null is returned. A faster implementation of System.Globalization.StringInfo(str).LengthInTextElements. A faster implementation of System.Char.IsWhiteSpace. Allocates and keeps references to chunks of unmanaged memory that we intend to keep around for the lifetime of the AppDomain.