From: Michael D. <mik...@us...> - 2004-07-05 20:35:09
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Util In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30832/NHibernate/Util Modified Files: JoinedEnumerable.cs Log Message: Added some comments and code #regions for interfaces. Index: JoinedEnumerable.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Util/JoinedEnumerable.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JoinedEnumerable.cs 17 Mar 2003 14:36:47 -0000 1.1 --- JoinedEnumerable.cs 5 Jul 2004 20:34:59 -0000 1.2 *************** *** 2,41 **** using System.Collections; ! namespace NHibernate.Util { ! ! ! public class JoinedEnumerable : IEnumerable, IEnumerator { ! private IEnumerator[] enumerators; ! private int current; ! public JoinedEnumerable(IEnumerable[] enumerables) { ! enumerators = new IEnumerator[enumerables.Length]; ! for (int i=0; i<enumerables.Length; i++) { ! enumerators[i] = enumerables[i].GetEnumerator(); } ! this.current = 0; } ! public bool MoveNext() { ! for ( ; current<enumerators.Length; current++ ) { ! if ( enumerators[current].MoveNext() ) return true; } return false; } ! public void Reset() { ! for (int i=0; i<enumerators.Length; i++) { ! enumerators[i].Reset(); } } ! public object Current { ! get { ! return enumerators[current].Current; } } ! public IEnumerator GetEnumerator() { ! this.Reset(); return this; } } --- 2,69 ---- using System.Collections; ! namespace NHibernate.Util ! { ! /// <summary> ! /// Combines multiple objects implementing <see cref="IEnumerable"/> into one. ! /// </summary> ! public class JoinedEnumerable : IEnumerable, IEnumerator ! { ! private IEnumerator[] _enumerators; ! private int _current; ! /// <summary> ! /// Creates an IEnumerable object from multiple IEnumerables. ! /// </summary> ! /// <param name="enumerables">The IEnumerables to join together.</param> ! public JoinedEnumerable(IEnumerable[] enumerables) ! { ! _enumerators = new IEnumerator[enumerables.Length]; ! for (int i=0; i<enumerables.Length; i++) ! { ! _enumerators[i] = enumerables[i].GetEnumerator(); } ! _current = 0; } ! #region System.Collections.IEnumerator Members ! ! public bool MoveNext() ! { ! for ( ; _current < _enumerators.Length; _current++ ) ! { ! if ( _enumerators[_current].MoveNext() ) return true; } return false; } ! ! public void Reset() ! { ! for (int i=0; i<_enumerators.Length; i++) ! { ! _enumerators[i].Reset(); } } ! ! public object Current ! { ! get ! { ! return _enumerators[_current].Current; } } ! ! #endregion ! ! #region System.Collections.IEnumerable Members ! ! ! public IEnumerator GetEnumerator() ! { ! Reset(); return this; } + #endregion + } |