Click or drag to resize

IReaches Interface

Interface for a list of IReach's Required for generic list COM interop

Namespace:  DHI.Mike1D.NetworkDataAccess
Assembly:  DHI.Mike1D.NetworkDataAccess (in DHI.Mike1D.NetworkDataAccess.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public interface IReaches : IList<IReach>, 
	ICollection<IReach>, IEnumerable<IReach>, IEnumerable

The IReaches type exposes the following members.

Properties
  NameDescription
Public propertyCount
The number of IReach's in the list
Public propertyIsReadOnly (Inherited from ICollectionIReach.)
Public propertyItem
Get or set the IReach at the specified index in the list
Top
Methods
  NameDescription
Public methodAdd
Add a IReach to the list
Public methodClear
Removes all elements from the List.
Public methodContains (Inherited from ICollectionIReach.)
Public methodCopyTo (Inherited from ICollectionIReach.)
Public methodFind
Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from IEnumerableIReach.)
Public methodIndexOf
Searches for the specified object and returns the zero-based index of the first occurrence within the entire List.
Public methodInsert (Inherited from IListIReach.)
Public methodRemove
Removes the first occurrence of a specific object from the List.
Public methodRemoveAt
Removes the element at the specified index of the List.
Top
Extension Methods
  NameDescription
Public Extension MethodBinarySearch(ILocation)Overloaded.
Find the reach that includes the given location. Assuming the reaches are sorted.

Location comparisons are case insensitive.

(Defined by NetworkExtensions.)
Public Extension MethodBinarySearch(ILocation, Double)Overloaded.
Find the reach that includes the given location. Assuming the reaches are sorted.

Location comparisons are case insensitive, and chainage comparisons uses the tolerance, i.e., the location can be tolerance outside the span and still be accepted. tolerance may be negative (it location has to be somewhat inside span).

(Defined by NetworkExtensions.)
Public Extension MethodBinarySearchIReach(IReach)Overloaded.
Searches the entire sorted IListT for an element and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e.

list[interval-1] < key < list[interval]

(Defined by GenericExtensions.)
Public Extension MethodCode exampleBinarySearchIReach(FuncIReach, Int32)Overloaded.
Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

This differs from the "ordinary" binary search in allowing a comparer delegate that defines whether an item is found (returning 0), whether the item in the list is before (<0) or after (>0) that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.

Examples
If having a list of doubles, to find 4.5 in the list, use:
int index = list.BinarySearch(d => d.CompareTo(4.5))
(Defined by GenericExtensions.)
Public Extension MethodBinarySearchIReach(IReach, IComparerIReach)Overloaded.
Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e.

list[interval-1] < key < list[interval]

(Defined by GenericExtensions.)
Public Extension MethodBinarySearchIReach, TKey(FuncIReach, TKey, TKey)Overloaded.
Searches the entire sorted IListT for an element and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e.

list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.

(Defined by GenericExtensions.)
Public Extension MethodBinarySearchIReach, TKey(FuncIReach, TKey, TKey, IComparerTKey)Overloaded.
Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e.

list[interval-1] < key < list[interval]

This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class.

(Defined by GenericExtensions.)
Public Extension MethodFindIndexIReach(PredicateIReach)Overloaded.
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the list.
(Defined by GenericExtensions.)
Public Extension MethodFindIndexIReach(Int32, PredicateIReach)Overloaded.
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element.
(Defined by GenericExtensions.)
Public Extension MethodSortOverloaded.
Sorts a list of reaches, first based on their ID, secondly on their start chainage value
(Defined by NetworkExtensions.)
Public Extension MethodSortIReachOverloaded.
Sorts the elements in the entire List{T} using the default comparer.

A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved.

If the provided IList is either an array or a list, the build in sorting method is used (also quick sort).

(Defined by GenericExtensions.)
Public Extension MethodSortIReach(IComparerIReach)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved.

If the provided IList is either an array or a list, the build in sorting method is used (also quick sort).

(Defined by GenericExtensions.)
Public Extension MethodSortStableIReachOverloaded. (Defined by GenericExtensions.)
Public Extension MethodSortStableIReach(IComparerIReach)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.

(Defined by GenericExtensions.)
Public Extension MethodSortStableIReach(ComparisonIReach)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.

(Defined by GenericExtensions.)
Top
See Also