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
+
}
|