File : g-casuti.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                         GNAT RUN-TIME COMPONENTS                         --
   4 --                                                                          --
   5 --                       G N A T . C A S E _ U T I L                        --
   6 --                                                                          --
   7 --                                 S p e c                                  --
   8 --                                                                          --
   9 --                     Copyright (C) 1995-2010, AdaCore                     --
  10 --                                                                          --
  11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  12 -- terms of the  GNU General Public License as published  by the Free Soft- --
  13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  17 --                                                                          --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 -- You should have received a copy of the GNU General Public License and    --
  23 -- a copy of the GCC Runtime Library Exception along with this program;     --
  24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  25 -- <http://www.gnu.org/licenses/>.                                          --
  26 --                                                                          --
  27 -- GNAT was originally developed  by the GNAT team at  New York University. --
  28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  29 --                                                                          --
  30 ------------------------------------------------------------------------------
  31 
  32 --  Simple casing functions
  33 
  34 --  This package provides simple casing functions that do not require the
  35 --  overhead of the full casing tables found in Ada.Characters.Handling.
  36 
  37 --  Note: actual code is found in System.Case_Util, which is used internally
  38 --  by the GNAT run time. Applications programs should always use this package
  39 --  rather than using System.Case_Util directly.
  40 
  41 with System.Case_Util;
  42 
  43 package GNAT.Case_Util is
  44    pragma Pure;
  45    pragma Elaborate_Body;
  46    --  The elaborate body is because we have a dummy body to deal with
  47    --  bootstrap path problems (we used to have a real body, and now we don't
  48    --  need it any more, but the bootstrap requires that we have a dummy body,
  49    --  since otherwise the old body gets picked up.
  50 
  51    --  Note: all the following functions handle the full Latin-1 set
  52 
  53    function To_Upper (A : Character) return Character
  54      renames System.Case_Util.To_Upper;
  55    --  Converts A to upper case if it is a lower case letter, otherwise
  56    --  returns the input argument unchanged.
  57 
  58    procedure To_Upper (A : in out String)
  59      renames System.Case_Util.To_Upper;
  60    --  Folds all characters of string A to upper case
  61 
  62    function To_Lower (A : Character) return Character
  63      renames System.Case_Util.To_Lower;
  64    --  Converts A to lower case if it is an upper case letter, otherwise
  65    --  returns the input argument unchanged.
  66 
  67    procedure To_Lower (A : in out String)
  68      renames System.Case_Util.To_Lower;
  69    --  Folds all characters of string A to lower case
  70 
  71    procedure To_Mixed (A : in out String)
  72      renames System.Case_Util.To_Mixed;
  73    --  Converts A to mixed case (i.e. lower case, except for initial
  74    --  character and any character after an underscore, which are
  75    --  converted to upper case.
  76 
  77 end GNAT.Case_Util;