[MethodImpl(MethodImplOptions.AggressiveInlining)]
public IEnumerator<T> GetEnumerator()
{
- return new ConstArrayEnum<T>(this);
+ return new ConstArrayEnumerator<T>(this);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
IEnumerator IEnumerable.GetEnumerator()
{
- return new ConstArrayEnum<T>(this);
+ return new ConstArrayEnumerator<T>(this);
}
+ }
- // ConstArray Enumerator
- private struct ConstArrayEnum<U> : IEnumerator<U>
- {
- private int index;
- private readonly ConstArray<U> data;
-
- public ConstArrayEnum(ConstArray<U> data)
- {
- index = -1;
- this.data = data;
- }
-
- U IEnumerator<U>.Current
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- get { return data[index]; }
- }
+ // ConstArray Enumerator
+ internal struct ConstArrayEnumerator<T> : IEnumerator<T>
+ {
+ private readonly ConstArray<T> data;
+ private int index;
- public object Current
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- get { return data[index]; }
- }
+ public ConstArrayEnumerator(ConstArray<T> data)
+ {
+ index = -1;
+ this.data = data;
+ }
+ T IEnumerator<T>.Current
+ {
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public bool MoveNext()
- {
- return (++index < data.Length);
- }
+ get { return data[index]; }
+ }
+ public object Current
+ {
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Reset()
- {
- index = -1;
- }
+ get { return data[index]; }
+ }
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Dispose() { }
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public bool MoveNext()
+ {
+ return (++index < data.Length);
}
+
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Reset()
+ {
+ index = -1;
+ }
+
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void Dispose() { }
}
// TestVector