AvalonEdit
ICSharpCode.AvalonEdit.Utils Namespace
NamespacesICSharpCode.AvalonEdit.Utils
This namespace contains various utility classes.
Declaration Syntax
C#Visual BasicVisual C++
namespace ICSharpCode.AvalonEdit.Utils
Namespace ICSharpCode.AvalonEdit.Utils
namespace ICSharpCode.AvalonEdit.Utils
Types
All TypesClassesStructures
IconTypeDescription
CharRope
Poor man's template specialization: extension methods for Rope<char>.

CompressingTreeList<(Of <(<'T>)>)>
A IList{T} implementation that has efficient insertion and removal (in O(lg n) time) and that saves memory by allocating only one node when a value is repeated in adjacent indices. Based on this "compression", it also supports efficient InsertRange/SetRange/RemoveRange operations.

Deque<(Of <(<'T>)>)>
Double-ended queue.

DocumentPrinter
Helps printing documents.

FileReader
Class that can open text files with auto-detection of the encoding.

ImmutableStack<(Of <(<'T>)>)>
An immutable stack. Using 'foreach' on the stack will return the items from top to bottom (in the order they would be popped).

NullSafeCollection<(Of <(<'T>)>)>
A collection that cannot contain null values.

PixelSnapHelpers
Contains static helper methods for aligning stuff on a whole number of pixels.

PropertyChangedWeakEventManager
WeakEventManager for INotifyPropertyChanged.PropertyChanged.

Rope<(Of <(<'T>)>)>
A kind of List<T>, but more efficient for random insertions/removal. Also has cheap Clone() and SubRope() implementations.

RopeTextReader
TextReader implementation that reads text from a rope.

StringSegment
Represents a string with a segment. Similar to System.ArraySegment<T>, but for strings instead of arrays.

WeakEventManagerBase<(Of <(<'TManager, TEventSource>)>)>
WeakEventManager with AddListener/RemoveListener and CurrentManager implementation. Helps implementing the WeakEventManager pattern with less code.