home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / adav313.zip / gnat-3_13p-os2-bin-20010916.zip / emx / gnatlib / a-stwifi.ads < prev    next >
Text File  |  2000-07-19  |  7KB  |  235 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT RUNTIME COMPONENTS                          --
  4. --                                                                          --
  5. --               A D A . S T R I N G S . W I D E _ F I X E D                --
  6. --                                                                          --
  7. --                                 S p e c                                  --
  8. --                                                                          --
  9. --                            $Revision: 1.11 $                             --
  10. --                                                                          --
  11. -- This specification is adapted from the Ada Reference Manual for use with --
  12. -- GNAT.  In accordance with the copyright of that document, you can freely --
  13. -- copy and modify this specification,  provided that if you redistribute a --
  14. -- modified version,  any changes that you have made are clearly indicated. --
  15. --                                                                          --
  16. ------------------------------------------------------------------------------
  17.  
  18.  
  19. with Ada.Strings.Wide_Maps;
  20.  
  21. package Ada.Strings.Wide_Fixed is
  22. pragma Preelaborate (Wide_Fixed);
  23.  
  24.    -------------------------------------------------------------------
  25.    -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
  26.    -------------------------------------------------------------------
  27.  
  28.    procedure Move
  29.      (Source  : in  Wide_String;
  30.       Target  : out Wide_String;
  31.       Drop    : in  Truncation := Error;
  32.       Justify : in  Alignment  := Left;
  33.       Pad     : in  Wide_Character  := Ada.Strings.Wide_Space);
  34.  
  35.    ------------------------
  36.    -- Search Subprograms --
  37.    ------------------------
  38.  
  39.    function Index
  40.      (Source  : in Wide_String;
  41.       Pattern : in Wide_String;
  42.       Going   : in Direction := Forward;
  43.       Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
  44.       return    Natural;
  45.  
  46.    function Index
  47.      (Source  : in Wide_String;
  48.       Pattern : in Wide_String;
  49.       Going   : in Direction := Forward;
  50.       Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
  51.       return    Natural;
  52.  
  53.    function Index
  54.      (Source : in Wide_String;
  55.       Set    : in Wide_Maps.Wide_Character_Set;
  56.       Test   : in Membership := Inside;
  57.       Going  : in Direction  := Forward)
  58.       return   Natural;
  59.  
  60.    function Index_Non_Blank
  61.      (Source : in Wide_String;
  62.       Going  : in Direction := Forward)
  63.       return   Natural;
  64.  
  65.    function Count
  66.      (Source  : in Wide_String;
  67.       Pattern : in Wide_String;
  68.       Mapping : in Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
  69.       return    Natural;
  70.  
  71.    function Count
  72.      (Source   : in Wide_String;
  73.       Pattern  : in Wide_String;
  74.       Mapping  : in Wide_Maps.Wide_Character_Mapping_Function)
  75.       return     Natural;
  76.  
  77.    function Count
  78.      (Source : in Wide_String;
  79.       Set    : in Wide_Maps.Wide_Character_Set)
  80.       return   Natural;
  81.  
  82.    procedure Find_Token
  83.      (Source : in Wide_String;
  84.       Set    : in Wide_Maps.Wide_Character_Set;
  85.       Test   : in Membership;
  86.       First  : out Positive;
  87.       Last   : out Natural);
  88.  
  89.    -----------------------------------------
  90.    -- Wide_String Translation Subprograms --
  91.    -----------------------------------------
  92.  
  93.    function Translate
  94.      (Source  : in Wide_String;
  95.       Mapping : in Wide_Maps.Wide_Character_Mapping)
  96.       return    Wide_String;
  97.  
  98.    procedure Translate
  99.      (Source  : in out Wide_String;
  100.       Mapping : in Wide_Maps.Wide_Character_Mapping);
  101.  
  102.    function Translate
  103.      (Source  : in Wide_String;
  104.       Mapping : in Wide_Maps.Wide_Character_Mapping_Function)
  105.       return    Wide_String;
  106.  
  107.    procedure Translate
  108.      (Source  : in out Wide_String;
  109.       Mapping : in Wide_Maps.Wide_Character_Mapping_Function);
  110.  
  111.    --------------------------------------------
  112.    -- Wide_String Transformation Subprograms --
  113.    --------------------------------------------
  114.  
  115.    function Replace_Slice
  116.      (Source : in Wide_String;
  117.       Low    : in Positive;
  118.       High   : in Natural;
  119.       By     : in Wide_String)
  120.       return   Wide_String;
  121.  
  122.    procedure Replace_Slice
  123.      (Source  : in out Wide_String;
  124.       Low     : in Positive;
  125.       High    : in Natural;
  126.       By      : in Wide_String;
  127.       Drop    : in Truncation := Error;
  128.       Justify : in Alignment  := Left;
  129.       Pad     : in Wide_Character  := Ada.Strings.Wide_Space);
  130.  
  131.    function Insert
  132.      (Source   : in Wide_String;
  133.       Before   : in Positive;
  134.       New_Item : in Wide_String)
  135.       return     Wide_String;
  136.  
  137.    procedure Insert
  138.      (Source   : in out Wide_String;
  139.       Before   : in Positive;
  140.       New_Item : in Wide_String;
  141.       Drop     : in Truncation := Error);
  142.  
  143.    function Overwrite
  144.      (Source   : in Wide_String;
  145.       Position : in Positive;
  146.       New_Item : in Wide_String)
  147.       return     Wide_String;
  148.  
  149.    procedure Overwrite
  150.      (Source   : in out Wide_String;
  151.       Position : in Positive;
  152.       New_Item : in Wide_String;
  153.       Drop     : in Truncation := Right);
  154.  
  155.    function Delete
  156.      (Source  : in Wide_String;
  157.       From    : in Positive;
  158.       Through : in Natural)
  159.       return    Wide_String;
  160.  
  161.    procedure Delete
  162.      (Source  : in out Wide_String;
  163.       From    : in Positive;
  164.       Through : in Natural;
  165.       Justify : in Alignment := Left;
  166.       Pad     : in Wide_Character := Ada.Strings.Wide_Space);
  167.  
  168.    --------------------------------------
  169.    -- Wide_String Selector Subprograms --
  170.    --------------------------------------
  171.  
  172.    function Trim
  173.      (Source : in Wide_String;
  174.       Side   : in Trim_End)
  175.       return   Wide_String;
  176.  
  177.    procedure Trim
  178.      (Source  : in out Wide_String;
  179.       Side    : in Trim_End;
  180.       Justify : in Alignment      := Left;
  181.       Pad     : in Wide_Character := Wide_Space);
  182.  
  183.    function Trim
  184.      (Source : in Wide_String;
  185.       Left   : in Wide_Maps.Wide_Character_Set;
  186.       Right  : in Wide_Maps.Wide_Character_Set)
  187.       return   Wide_String;
  188.  
  189.    procedure Trim
  190.      (Source  : in out Wide_String;
  191.       Left    : in Wide_Maps.Wide_Character_Set;
  192.       Right   : in Wide_Maps.Wide_Character_Set;
  193.       Justify : in Alignment := Ada.Strings.Left;
  194.       Pad     : in Wide_Character := Ada.Strings.Wide_Space);
  195.  
  196.    function Head
  197.      (Source : in Wide_String;
  198.       Count  : in Natural;
  199.       Pad    : in Wide_Character := Ada.Strings.Wide_Space)
  200.       return   Wide_String;
  201.  
  202.    procedure Head
  203.      (Source  : in out Wide_String;
  204.       Count   : in Natural;
  205.       Justify : in Alignment := Left;
  206.       Pad     : in Wide_Character := Ada.Strings.Wide_Space);
  207.  
  208.    function Tail
  209.      (Source : in Wide_String;
  210.       Count  : in Natural;
  211.       Pad    : in Wide_Character := Ada.Strings.Wide_Space)
  212.       return   Wide_String;
  213.  
  214.    procedure Tail
  215.      (Source : in out Wide_String;
  216.       Count  : in Natural;
  217.       Justify : in Alignment := Left;
  218.       Pad    : in Wide_Character := Ada.Strings.Wide_Space);
  219.  
  220.    ---------------------------------------
  221.    -- Wide_String Constructor Functions --
  222.    ---------------------------------------
  223.  
  224.    function "*"
  225.      (Left  : in Natural;
  226.       Right : in Wide_Character)
  227.       return  Wide_String;
  228.  
  229.    function "*"
  230.      (Left  : in Natural;
  231.       Right : in Wide_String)
  232.       return Wide_String;
  233.  
  234. end Ada.Strings.Wide_Fixed;
  235.