DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f02d2d7f6⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Vstring_Query, seg_005840

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Arithmetic;
use Arithmetic;
with Vstring_Type;
use Vstring_Type;

package Vstring_Query is
------------------------------------------------------------------------------
-- VString Query and SubString Functions
------------------------------------------------------------------------------
-- Copyright 1988 - 1991 by Rational, Santa Clara, California.
--
--                  All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the name of Rational not be used in
-- advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- Rational disclaims all warranties with regard to this software, including
-- all implied warranties of merchantability and fitness, in no event shall
-- Rational be liable for any special, indirect or consequential damages or
-- any damages whatsoever resulting from loss of use, data or profits, whether
-- in an action of contract, negligence or other tortious action, arising out
-- of or in connection with the use or performance of this software.
------------------------------------------------------------------------------

    procedure Empty_Vstring (Vstr : in out Vstring_Data);
    procedure Empty_Vstring (Vstr : Vstring);
    ----Sets the string to be Empty; null string.

    function Length (Vstr : Vstring_Data) return S_Natural;
    function Length (Vstr : Vstring)      return S_Natural;
    ----Called to obtain the current length of the string.

    function Maximum_Length (Vstr : Vstring_Data) return S_Natural;
    function Maximum_Length (Vstr : Vstring)      return S_Natural;
    ----Called to obtain the maximum number of characters a string may hold.

    function Length_Left (Vstr : Vstring_Data) return S_Natural;
    function Length_Left (Vstr : Vstring)      return S_Natural;
    ----Called to obtain the amount of room remaining in a string.

    function Char_At (Vstr : Vstring_Data; Pos : S_Positive) return Character;
    function Char_At (Vstr : Vstring; Pos : S_Positive)      return Character;
    ----Called to return character Pos in the string.  Returns Ascii.Nul if
    --  the character is not present.

    function First (Vstr : Vstring_Data) return Character;
    function First (Vstr : Vstring)      return Character;
    ----Returns the first character in the Vstring; returns Ascii.Nul if the
    --  string is empty.

    procedure Lop_First (Vstr : in out Vstring_Data; Char : out Character);
    function  Lop_First (Vstr : Vstring) return Character;
    ----Just like First except that the character is removed from the Vstring.

    function Last (Vstr : Vstring_Data) return Character;   function Last (Vstr : Vstring)      return Character;
    ----Returns the last character in the Vstring; returns Ascii.Nul if the
    --  string is empty.

    procedure Lop_Last (Vstr : in out Vstring_Data; Char : out Character);
    function  Lop_Last (Vstr : Vstring) return Character;
    ----Just like Last except that the character is removed from the Vstring.

    Inf : constant S_Positive := S_Positive'Last;   -- Infinity

    function Substring_To (Vstr : Vstring_Data;  
                           Pos  : S_Positive;  
                           To   : S_Positive) return E_String;
    function Substring_To (Vstr : Vstring;  
                           Pos  : S_Positive;  
                           To   : S_Positive) return E_String;
    ----Called to obtain the substring of a Vstring which is contained in
    --  Vstr.Chars(Pos..To).  If To > Vstr.Length then we return
    --  Vstr.Chars(Pos..Vstr.Length).  If Pos > Vstr.Length then we return
    --  the null string.

    procedure Truncstring_To (Vstr : in out Vstring_Data;  
                              Pos  :        S_Positive;  
                              To   :        S_Positive);
    procedure Truncstring_To (Vstr : Vstring;  
                              Pos  : S_Positive;  
                              To   : S_Positive);
    ----Called to truncate a string down to the substring contained in
    --  Vstr.Chars(Pos..To).  If To > Vstr.Length then we truncate it to
    --  Vstr.Chars(Pos..Vstr.Length).  If Pos > Vstr.Length then the string
    --  is set to the null string.

    function Substring_For (Vstr : Vstring_Data;  
                            Pos  : S_Positive;  
                            Cnt  : S_Positive) return E_String;
    function Substring_For (Vstr : Vstring;  
                            Pos  : S_Positive;  
                            Cnt  : S_Positive) return E_String;
    ----Called to obtain the substring of a Vstring which is contained in
    --  Vstr.Chars(Pos..Pos+Cnt-1).  If Pos+Cnt-1 > Vstr.Length then we return
    --  Vstr.Chars(Pos..Vstr.Length).  If Pos > Vstr.Length then we return
    --  the null string.

    procedure Truncstring_For (Vstr : in out Vstring_Data;  
                               Pos  :        S_Positive;  
                               Cnt  :        S_Positive);
    procedure Truncstring_For (Vstr : Vstring;  
                               Pos  : S_Positive;  
                               Cnt  : S_Positive);
    ----Called to truncate a string down to the substring contained in
    --  Vstr.Chars(Pos..Pos+Cnt-1).  If Pos+Cnt-1 > Vstr.Length then we truncate it to
    --  Vstr.Chars(Pos..Vstr.Length).  If Pos > Vstr.Length then the string
    --  is set to the null string.

    function To_String (Vstr : Vstring_Data) return E_String;
    function To_String (Vstr : Vstring)      return E_String;
    ----Called to obtain the full string contained in a Vstring.

end Vstring_Query;

E3 Meta Data

    nblk1=a
    nid=0
    hdr6=14
        [0x00] rec0=18 rec1=00 rec2=01 rec3=00a
        [0x01] rec0=11 rec1=00 rec2=02 rec3=076
        [0x02] rec0=00 rec1=00 rec2=0a rec3=014
        [0x03] rec0=15 rec1=00 rec2=03 rec3=002
        [0x04] rec0=00 rec1=00 rec2=09 rec3=020
        [0x05] rec0=14 rec1=00 rec2=04 rec3=000
        [0x06] rec0=01 rec1=00 rec2=08 rec3=008
        [0x07] rec0=12 rec1=00 rec2=05 rec3=010
        [0x08] rec0=13 rec1=00 rec2=06 rec3=022
        [0x09] rec0=01 rec1=00 rec2=07 rec3=000
    tail 0x21700ab5081978f19a73f 0x42a00088462063203