1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace Marina.Infrastructure {
public interface IRichList< T > : IList< T > {
void AddRange( IEnumerable< T > collection );
ReadOnlyCollection< T > AsReadOnly();
int BinarySearch( int index, int count, T item, IComparer< T > comparer );
int BinarySearch( T item );
int BinarySearch( T item, IComparer< T > comparer );
IRichList< TOutput > ConvertAll< TOutput >( Converter< T, TOutput > converter );
void CopyTo( T[] array );
void CopyTo( int index, T[] array, int arrayIndex, int count );
bool Exists( Predicate< T > match );
T Find( Predicate< T > match );
IRichList< T > FindAll( Predicate< T > match );
int FindIndex( Predicate< T > match );
int FindIndex( int startIndex, Predicate< T > match );
int FindIndex( int startIndex, int count, Predicate< T > match );
T FindLast( Predicate< T > match );
int FindLastIndex( Predicate< T > match );
int FindLastIndex( int startIndex, Predicate< T > match );
int FindLastIndex( int startIndex, int count, Predicate< T > match );
void ForEach( Action< T > action );
IRichList< T > GetRange( int index, int count );
int IndexOf( T item, int index );
int IndexOf( T item, int index, int count );
void InsertRange( int index, IEnumerable< T > collection );
int LastIndexOf( T item );
int LastIndexOf( T item, int index );
int LastIndexOf( T item, int index, int count );
int RemoveAll( Predicate< T > match );
void RemoveRange( int index, int count );
void Reverse();
void Reverse( int index, int count );
void Sort();
void Sort( IComparer< T > comparer );
void Sort( int index, int count, IComparer< T > comparer );
void Sort( Comparison< T > comparison );
T[] ToArray();
void TrimExcess();
bool TrueForAll( Predicate< T > match );
int Capacity { get; set; }
void VisitAllItemWith( IVisitor< T > visitor );
Result GetResultOfVisitingAllItemsWith< Result >( IValueReturningVisitor< Result, T > visitor );
IEnumerable< Output > MapAllUsing< Output >( IMapper< T, Output > mapper );
IEnumerable< T > All();
}
}
|