Datasheet

The C and C++ Libraries
ARM DUI 0067D Copyright © 1999-2001 ARM Limited. All rights reserved. 4-33
Each element gives the position in the collation sequence of the character represented
by the index of the element. For example, if you want
strcoll()
to sort strings beginning
with
Z
in between those beginning with
A
and those beginning with
B
, you can set up the
LC_COLLATE table so that
array['A'] < array['Z']
and
array['Z'] < array['B']
.
_get_lc_collate()
must return a pointer to a collate structure. Use the macros in
Example 4-4 to create the structure.
Example 4-4 LC_COLLATE_DEF Table
__LC_COLLATE_TRIVIAL_DEF(lccoll_c, "C")
__LC_COLLATE_DEF(lccoll_iso8859_1, "ISO8859-1")
{
/* Things preceding letters have normal ASCII ordering */
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x40, /* @ */ 0x41, /* A - then 7 A variants */
0x49, /* B */ 0x4a, /* C - then 1 C variant */
0x4c, /* D */ 0x4d, /* E - then 4 E variants */
0x52, /* F */ 0x53, /* G */
0x54, /* H */ 0x55, /* I - then 4 I variants */
0x5a, /* J */ 0x5b, /* K */
0x5c, /* L */ 0x5d, /* M */
0x5e, /* N - then 1 N variant */
0x60, /* O - then 6 O variants */
0x67, /* P */ 0x68, /* Q */
0x69, /* R */ 0x6a, /* S */
0x6b, /* T */ 0x6c, /* U - then 4 U variants */
0x71, /* V */ 0x72, /* W */
0x73, /* X */ 0x74, /* Y - then 1 Y variant */
0x76, /* Z - then capital Eth & Thorn */
0x79, /* [ */ 0x7a, /* \ */
0x7b, /* ] */ 0x7c, /* ^ */
0x7d, /* _ */ 0x7e, /* ` */
0x7f, /* a - then 7 a variants */
0x87, /* b */ 0x88, /* c - then 1 c variant */
0x8a, /* d */ 0x8b, /* e - then 4 e variants */
0x90, /* f */ 0x91, /* g */
0x92, /* h */ 0x93, /* i - then 4 i variants */
0x98, /* j */ 0x99, /* k */
0x9a, /* l */ 0x9b, /* m */