/// <summary>
        /// Toes the string.	
        /// </summary>
        /// <param name="direction">The direction.</param>
        /// <returns></returns>
        /// <remarks></remarks>
		public string ToString(EnumeratorDirection direction)
		{
			StringBuilder builder = new StringBuilder(items.GetUpperBound(0)*AssumedAverageLineLength);
			IEnumerator enumerator = new CircularArrayEnumerator(this, direction);
			while (enumerator.MoveNext())
			{
				if (builder.Length > 0) builder.Append(Environment.NewLine);
				builder.Append(enumerator.Current);
			}
			return builder.ToString();
		}
        /// <summary>
        /// Toes the string.
        /// </summary>
        /// <param name="direction">The direction.</param>
        /// <returns></returns>
        /// <remarks></remarks>
        public string ToString(EnumeratorDirection direction)
        {
            StringBuilder builder    = new StringBuilder(items.GetUpperBound(0) * AssumedAverageLineLength);
            IEnumerator   enumerator = new CircularArrayEnumerator(this, direction);

            while (enumerator.MoveNext())
            {
                if (builder.Length > 0)
                {
                    builder.Append(Environment.NewLine);
                }
                builder.Append(enumerator.Current);
            }
            return(builder.ToString());
        }
 public string Read(EnumeratorDirection direction)
 {
     CircularArray buffer = new CircularArray(maxLines);
     using (Stream stream = OpenFile())
     {
         using (StreamReader reader = new StreamReader(stream))
         {
             string line;
             while ((line = reader.ReadLine()) != null)
             {
                 buffer.Add(line);
             }
         }
     }
     return buffer.ToString(direction);
 }
        public string Read(EnumeratorDirection direction)
        {
            CircularArray buffer = new CircularArray(maxLines);

            using (Stream stream = OpenFile())
            {
                using (StreamReader reader = new StreamReader(stream))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        buffer.Add(line);
                    }
                }
            }
            return(buffer.ToString(direction));
        }
 private string Read(EnumeratorDirection direction, string match)
 {
     CircularArray buffer = new CircularArray(maxLines);
     using (Stream stream = OpenFile())
     {
         using (StreamReader reader = new StreamReader(stream,System.Text.Encoding.Default))
         {
             string line;
             while ((line = reader.ReadLine()) != null)
             {
                 if (match == null || line.IndexOf(match) >= 0)
                     buffer.Add(line);
                 // TODO: Messages can contain embedded newlines (e.g., exception reports).
                 // TODO: This code should be changed to capture those "follow on" lines as well.
             }
         }
     }
     return buffer.ToString(direction);
 }
        private string Read(EnumeratorDirection direction, string match)
        {
            CircularArray buffer = new CircularArray(maxLines);

            using (Stream stream = OpenFile())
            {
                using (StreamReader reader = new StreamReader(stream, System.Text.Encoding.Default))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        if (match == null || line.IndexOf(match) >= 0)
                        {
                            buffer.Add(line);
                        }
                        // TODO: Messages can contain embedded newlines (e.g., exception reports).
                        // TODO: This code should be changed to capture those "follow on" lines as well.
                    }
                }
            }
            return(buffer.ToString(direction));
        }
 public CircularArrayEnumerator(CircularArray array, EnumeratorDirection direction)
 {
     this.array     = array;
     this.direction = direction;
 }
			public CircularArrayEnumerator(CircularArray array, EnumeratorDirection direction)
			{
				this.array = array;
				this.direction = direction;
			}
 protected VisualTreeEnumerator(DependencyObject dObject, EnumeratorDirection direction)
     : base(dObject)
 {
     this.direction = direction;
 }
 public string Read(EnumeratorDirection direction)
 {
     return Read(direction, null);
 }
 /// <summary>
 /// Reads the specified direction.
 /// </summary>
 /// <param name="direction">The direction.</param>
 /// <returns></returns>
 /// <remarks></remarks>
 public string Read(EnumeratorDirection direction)
 {
     return(Read(direction, null));
 }