using System;
namespace System.Text
{
/// Provides a buffer that allows a fallback handler to return an alternate string to an encoder when it cannot encode an input character.
/// 2
// Token: 0x020005ED RID: 1517
public abstract class EncoderFallbackBuffer
{
/// When overridden in a derived class, gets the number of characters in the current object that remain to be processed.
/// The number of characters in the current fallback buffer that have not yet been processed.
/// 1
// Token: 0x17000ACB RID: 2763
// (get) Token: 0x06003729 RID: 14121
public abstract int Remaining { get; }
/// When overridden in a derived class, prepares the fallback buffer to handle the specified input character.
/// true if the fallback buffer can process ; false if the fallback buffer ignores .
/// An input character.
/// The index position of the character in the input buffer.
/// 1
// Token: 0x0600372A RID: 14122
public abstract bool Fallback(char charUnknown, int index);
/// When overridden in a derived class, prepares the fallback buffer to handle the specified surrogate pair.
/// True if the fallback buffer can process and ; false if fallback buffer ignores the surrogate pair.
/// The high surrogate of the input pair.
/// The low surrogate of the input pair.
/// The index position of the surrogate pair in the input buffer.
/// 1
// Token: 0x0600372B RID: 14123
public abstract bool Fallback(char charUnknownHigh, char charUnknownLow, int index);
/// When overridden in a derived class, retrieves the next character in the fallback buffer.
/// The next character in the fallback buffer.
/// 2
// Token: 0x0600372C RID: 14124
public abstract char GetNextChar();
/// When overridden in a derived class, causes the next call to the method to access the data buffer character position that is prior to the current character position.
/// true if the operation was successful; otherwise, false.
/// 1
// Token: 0x0600372D RID: 14125
public abstract bool MovePrevious();
/// Initializes all data and state information pertaining to this fallback buffer.
/// 1
// Token: 0x0600372E RID: 14126 RVA: 0x000BCDB8 File Offset: 0x000BAFB8
public virtual void Reset()
{
while (this.GetNextChar() != '\0')
{
}
}
}
}