Bamboo.Prevalence.Collections.CompositeEnumerator.MoveNext C# (CSharp) Method

MoveNext() public method

public MoveNext ( ) : bool
return bool
		public bool MoveNext()
		{		
			bool hasNext = _current.MoveNext();
			while (!hasNext)
			{
				++_currentIndex;
				if (_currentIndex < _enumerators.Length)
				{
					_current = _enumerators[_currentIndex];
					hasNext = _current.MoveNext();
				}
				else
				{
					break;
				}
			}
			return hasNext;
		}

Usage Example

		public void TestArrays()
		{
			int[] a0 = { 0 };
			int[] a1 = { 1, 2, 3 };
			int[] a2 = { 4, 5, 6 };

			CompositeEnumerator e = new CompositeEnumerator(a0, a1, a2);
			for (int i=0; i<7; ++i)
			{
				Assert(e.MoveNext());
				AssertEquals(i, e.Current);
			}
			Assert(!e.MoveNext());
		}