using System;
using System.Collections;
namespace System.Security.Cryptography
{
/// Provides the ability to navigate through an object. This class cannot be inherited.
// Token: 0x020002A6 RID: 678
public sealed class AsnEncodedDataEnumerator : IEnumerator
{
// Token: 0x060018C4 RID: 6340 RVA: 0x00054E74 File Offset: 0x00053074
internal AsnEncodedDataEnumerator(AsnEncodedDataCollection collection)
{
this._collection = collection;
this._position = -1;
}
/// Gets the current object in an object.
/// The current object.
// Token: 0x170007C1 RID: 1985
// (get) Token: 0x060018C5 RID: 6341 RVA: 0x00054E8C File Offset: 0x0005308C
object IEnumerator.Current
{
get
{
if (this._position < 0)
{
throw new ArgumentOutOfRangeException();
}
return this._collection[this._position];
}
}
/// Gets the current object in an object.
/// The current object in the collection.
// Token: 0x170007C2 RID: 1986
// (get) Token: 0x060018C6 RID: 6342 RVA: 0x00054EB4 File Offset: 0x000530B4
public AsnEncodedData Current
{
get
{
if (this._position < 0)
{
throw new ArgumentOutOfRangeException();
}
return this._collection[this._position];
}
}
/// Advances to the next object in an object.
/// true, if the enumerator was successfully advanced to the next element; false, if the enumerator has passed the end of the collection.
/// The collection was modified after the enumerator was created.
// Token: 0x060018C7 RID: 6343 RVA: 0x00054EDC File Offset: 0x000530DC
public bool MoveNext()
{
if (++this._position < this._collection.Count)
{
return true;
}
this._position = this._collection.Count - 1;
return false;
}
/// Sets an enumerator to its initial position.
/// The collection was modified after the enumerator was created.
// Token: 0x060018C8 RID: 6344 RVA: 0x00054F20 File Offset: 0x00053120
public void Reset()
{
this._position = -1;
}
// Token: 0x040013A3 RID: 5027
private AsnEncodedDataCollection _collection;
// Token: 0x040013A4 RID: 5028
private int _position;
}
}