Merge pull request #3274 from Unity-Technologies/fix-path-getfullpath-windows
[mono.git] / mcs / class / corlib / Mono.Globalization.Unicode / CollationElementTable.template
1 using System;
2 using System.Globalization;
3 using System.Text;
4
5 namespace Mono.Globalization.Unicode
6 {
7         internal /*static*/ class CollationElementTable
8         {
9
10                 public static int GetSortKeyCount (int cp)
11                 {
12                         int idx = CollationElementTableUtil.Indexer.ToIndex (cp);
13                         int val = collElem [idx];
14                         int count = val >> 16;
15                         return count != 0 ? count : 1;
16                 }
17
18                 public static SortKeyValue GetSortKey (int cp, int keyIndex)
19                 {
20                         int idx = CollationElementTableUtil.Indexer.ToIndex (cp);
21                         int val = collElem [idx];
22                         int count = val >> 16;
23                         if (count == 0 && keyIndex != 0 || keyIndex < count)
24                                 throw new IndexOutOfRangeException ("keyIndex");
25                         if (count == 0)
26                                 return keyValues [val & 0xFFFF];
27                         else
28                                 return keyValues [val & 0xFFFF + keyIndex];
29                 }
30
31         // below are autogenerated code.
32