123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- //
- // Author:
- // Jb Evain (jbevain@gmail.com)
- //
- // Copyright (c) 2008 - 2015 Jb Evain
- // Copyright (c) 2008 - 2011 Novell, Inc.
- //
- // Licensed under the MIT/X11 license.
- //
- using System.Collections.Generic;
- namespace ILRuntime.Mono.Cecil.Metadata {
- struct Row<T1, T2> {
- internal T1 Col1;
- internal T2 Col2;
- public Row (T1 col1, T2 col2)
- {
- Col1 = col1;
- Col2 = col2;
- }
- }
- struct Row<T1, T2, T3> {
- internal T1 Col1;
- internal T2 Col2;
- internal T3 Col3;
- public Row (T1 col1, T2 col2, T3 col3)
- {
- Col1 = col1;
- Col2 = col2;
- Col3 = col3;
- }
- }
- struct Row<T1, T2, T3, T4> {
- internal T1 Col1;
- internal T2 Col2;
- internal T3 Col3;
- internal T4 Col4;
- public Row (T1 col1, T2 col2, T3 col3, T4 col4)
- {
- Col1 = col1;
- Col2 = col2;
- Col3 = col3;
- Col4 = col4;
- }
- }
- struct Row<T1, T2, T3, T4, T5> {
- internal T1 Col1;
- internal T2 Col2;
- internal T3 Col3;
- internal T4 Col4;
- internal T5 Col5;
- public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
- {
- Col1 = col1;
- Col2 = col2;
- Col3 = col3;
- Col4 = col4;
- Col5 = col5;
- }
- }
- struct Row<T1, T2, T3, T4, T5, T6> {
- internal T1 Col1;
- internal T2 Col2;
- internal T3 Col3;
- internal T4 Col4;
- internal T5 Col5;
- internal T6 Col6;
- public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
- {
- Col1 = col1;
- Col2 = col2;
- Col3 = col3;
- Col4 = col4;
- Col5 = col5;
- Col6 = col6;
- }
- }
- struct Row<T1, T2, T3, T4, T5, T6, T7, T8, T9> {
- internal T1 Col1;
- internal T2 Col2;
- internal T3 Col3;
- internal T4 Col4;
- internal T5 Col5;
- internal T6 Col6;
- internal T7 Col7;
- internal T8 Col8;
- internal T9 Col9;
- public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 col7, T8 col8, T9 col9)
- {
- Col1 = col1;
- Col2 = col2;
- Col3 = col3;
- Col4 = col4;
- Col5 = col5;
- Col6 = col6;
- Col7 = col7;
- Col8 = col8;
- Col9 = col9;
- }
- }
- sealed class RowEqualityComparer : IEqualityComparer<Row<string, string>>, IEqualityComparer<Row<uint, uint>>, IEqualityComparer<Row<uint, uint, uint>> {
- public bool Equals (Row<string, string> x, Row<string, string> y)
- {
- return x.Col1 == y.Col1
- && x.Col2 == y.Col2;
- }
- public int GetHashCode (Row<string, string> obj)
- {
- string x = obj.Col1, y = obj.Col2;
- return (x != null ? x.GetHashCode () : 0) ^ (y != null ? y.GetHashCode () : 0);
- }
- public bool Equals (Row<uint, uint> x, Row<uint, uint> y)
- {
- return x.Col1 == y.Col1
- && x.Col2 == y.Col2;
- }
- public int GetHashCode (Row<uint, uint> obj)
- {
- return (int) (obj.Col1 ^ obj.Col2);
- }
- public bool Equals (Row<uint, uint, uint> x, Row<uint, uint, uint> y)
- {
- return x.Col1 == y.Col1
- && x.Col2 == y.Col2
- && x.Col3 == y.Col3;
- }
- public int GetHashCode (Row<uint, uint, uint> obj)
- {
- return (int) (obj.Col1 ^ obj.Col2 ^ obj.Col3);
- }
- }
- }
|