OSDN Git Service

PR ada/53766
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-suenco.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT RUN-TIME COMPONENTS                         --
4 --                                                                          --
5 --                   ADA.STRINGS.UTF_ENCODING.CONVERSIONS                   --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 -- This specification is derived from the Ada Reference Manual for use with --
10 -- GNAT.  In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification,  provided that if you redistribute a --
12 -- modified version,  any changes that you have made are clearly indicated. --
13 --                                                                          --
14 ------------------------------------------------------------------------------
15
16 --  This is an Ada 2012 package defined in AI05-0137-1. It provides conversions
17 --  from one UTF encoding method to another. Note: this package is consistent
18 --  with Ada 95, and may be used in Ada 95 or Ada 2005 mode.
19
20 package Ada.Strings.UTF_Encoding.Conversions is
21    pragma Pure (Conversions);
22
23    --  In the following conversion routines, a BOM in the input that matches
24    --  the encoding scheme is ignored, an incorrect BOM causes Encoding_Error
25    --  to be raised. A BOM is present in the output if the Output_BOM parameter
26    --  is set to True.
27
28    function Convert
29      (Item          : UTF_String;
30       Input_Scheme  : Encoding_Scheme;
31       Output_Scheme : Encoding_Scheme;
32       Output_BOM    : Boolean := False) return UTF_String;
33    --  Convert from input encoded in UTF-8, UTF-16LE, or UTF-16BE as specified
34    --  by the Input_Scheme argument, and generate an output encoded in one of
35    --  these three schemes as specified by the Output_Scheme argument.
36
37    function Convert
38      (Item          : UTF_String;
39       Input_Scheme  : Encoding_Scheme;
40       Output_BOM    : Boolean := False) return UTF_16_Wide_String;
41    --  Convert from input encoded in UTF-8, UTF-16LE, or UTF-16BE as specified
42    --  by the Input_Scheme argument, and generate an output encoded in UTF-16.
43
44    function Convert
45      (Item          : UTF_8_String;
46       Output_BOM    : Boolean := False) return UTF_16_Wide_String;
47    --  Convert from UTF-8 to UTF-16
48
49    function Convert
50      (Item          : UTF_16_Wide_String;
51       Output_Scheme : Encoding_Scheme;
52       Output_BOM    : Boolean := False) return UTF_String;
53    --  Convert from UTF-16 to UTF-8, UTF-16LE, or UTF-16BE as specified by
54    --  the Output_Scheme argument.
55
56    function Convert
57      (Item          : UTF_16_Wide_String;
58       Output_BOM    : Boolean := False) return UTF_8_String;
59    --  Convert from UTF-16 to UTF-8
60
61 end Ada.Strings.UTF_Encoding.Conversions;