IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList > Class Template Reference

Implements an IComparer<T> which lexicographically compares a two lists. More...

Inheritance diagram for IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >:
IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T > > IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T >, IReadOnlyList< T > >

Public Member Functions

 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (TComparer comparer)
 Initializes a new instance.
 
override int Compare (TList? x, TList? y)
 
- Public Member Functions inherited from IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T > >
 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (TComparer comparer)
 Initializes a new instance.
 
override int Compare (TList? x, TList? y)
 
- Public Member Functions inherited from IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T >, IReadOnlyList< T > >
 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (IComparer< T > comparer)
 Initializes a new instance.
 
 LexicographicListComparer (TComparer comparer)
 Initializes a new instance.
 
override int Compare (TList? x, TList? y)
 

Static Public Attributes

static new readonly LexicographicListComparer< T > Default = new LexicographicListComparer<T>(Comparer<T>.Default)
 Returns a default LexicographicListComparer<T> instance.
 
static new readonly LexicographicListComparer< T, TComparer > Default = new LexicographicListComparer<T, TComparer>(Comparer<T>.Default)
 Returns a default LexicographicListComparer<T, TComparer> instance.
 
- Static Public Attributes inherited from IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T > >
static new readonly LexicographicListComparer< T > Default
 Returns a default LexicographicListComparer<T> instance.
 
static new readonly LexicographicListComparer< T, TComparer > Default
 Returns a default LexicographicListComparer<T, TComparer> instance.
 
- Static Public Attributes inherited from IKVM.CoreLib.System.LexicographicListComparer< T, IComparer< T >, IReadOnlyList< T > >
static new readonly LexicographicListComparer< T > Default
 Returns a default LexicographicListComparer<T> instance.
 
static new readonly LexicographicListComparer< T, TComparer > Default
 Returns a default LexicographicListComparer<T, TComparer> instance.
 

Detailed Description

Implements an IComparer<T> which lexicographically compares a two lists.

Template Parameters
T
Template Parameters
T
TComparer
Template Parameters
T
TComparer
TList
Type Constraints
TComparer :IComparer<T> 
TList :IReadOnlyList<T> 

Definition at line 62 of file LexicographicListComparer.cs.

Constructor & Destructor Documentation

◆ LexicographicListComparer() [1/3]

IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.LexicographicListComparer ( IComparer< T > comparer)

Initializes a new instance.

Parameters
comparer

Definition at line 23 of file LexicographicListComparer.cs.

23 :
24 base(comparer)
25 {
26
27 }

◆ LexicographicListComparer() [2/3]

IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.LexicographicListComparer ( IComparer< T > comparer)

Initializes a new instance.

Parameters
comparer

Definition at line 48 of file LexicographicListComparer.cs.

48 :
49 base(comparer)
50 {
51
52 }

◆ LexicographicListComparer() [3/3]

IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.LexicographicListComparer ( TComparer comparer)

Initializes a new instance.

Parameters
comparer

Definition at line 73 of file LexicographicListComparer.cs.

74 {
75 _comparer = comparer;
76 }

Member Function Documentation

◆ Compare()

override int IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.Compare ( TList? x,
TList? y )

Definition at line 79 of file LexicographicListComparer.cs.

80 {
81 if (x == null && y is null)
82 return 0;
83
84 if (x == null)
85 return +1;
86
87 if (y == null)
88 return -1;
89
90 int c = x.Count.CompareTo(y.Count);
91 if (c != 0)
92 return c;
93
94 var length = Math.Min(x.Count, y.Count);
95 for (int i = 0; i < length; i++)
96 {
97 c = _comparer.Compare(x[i], y[i]);
98 if (c != 0)
99 return c;
100 }
101
102 return 0;
103 }

Member Data Documentation

◆ Default [1/2]

new readonly LexicographicListComparer<T> IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.Default = new LexicographicListComparer<T>(Comparer<T>.Default)
static

Returns a default LexicographicListComparer<T> instance.

Definition at line 17 of file LexicographicListComparer.cs.

◆ Default [2/2]

new readonly LexicographicListComparer<T, TComparer> IKVM.CoreLib.System.LexicographicListComparer< T, TComparer, TList >.Default = new LexicographicListComparer<T, TComparer>(Comparer<T>.Default)
static

Returns a default LexicographicListComparer<T, TComparer> instance.

Definition at line 42 of file LexicographicListComparer.cs.


The documentation for this class was generated from the following file: