Ada Programming/Libraries/Ada.Strings.Fixed
This language feature is available from Ada 95 on.
Ada.Strings. is a unit of the Predefined Language Environment since Ada 95.
Specification
-- Standard Ada library specification -- Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com> -- Copyright (c) 2004-2016 AXE Consultants -- Copyright (c) 2004, 2005, 2006 Ada-Europe -- Copyright (c) 2000 The MITRE Corporation, Inc. -- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc. -- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual -- -------------------------------------------------------------------------withAda.Strings.Maps;packageAda.Strings.ispragmaPreelaborate (Fixed); -- "Copy" procedure for strings of possibly different lengthsprocedureMove (Source :inString; Target :outString; Drop :inTruncation := Error; Justify :inAlignment := Left; Pad :inCharacter := Space); -- Search subprogramsfunctionIndex (Source :inString; Pattern :inString; From :inPositive; Going :inDirection := Forward; Mapping :inMaps.Character_Mapping := Maps.Identity)returnNatural;functionIndex (Source :inString; Pattern :inString; From :inPositive; Going :inDirection := Forward; Mapping :inMaps.Character_Mapping_Function)returnNatural;functionIndex (Source :inString; Pattern :inString; Going :inDirection := Forward; Mapping :inMaps.Character_Mapping := Maps.Identity)returnNatural;functionIndex (Source :inString; Pattern :inString; Going :inDirection := Forward; Mapping :inMaps.Character_Mapping_Function)returnNatural;functionIndex (Source :inString; Set :inMaps.Character_Set; From :inPositive; Test :inMembership := Inside; Going :inDirection := Forward)returnNatural;functionIndex (Source :inString; Set :inMaps.Character_Set; Test :inMembership := Inside; Going :inDirection := Forward)returnNatural;functionIndex_Non_Blank (Source :inString; From :inPositive; Going :inDirection := Forward)returnNatural;functionIndex_Non_Blank (Source :inString; Going :inDirection := Forward)returnNatural;functionCount (Source :inString; Pattern :inString; Mapping :inMaps.Character_Mapping := Maps.Identity)returnNatural;functionCount (Source :inString; Pattern :inString; Mapping :inMaps.Character_Mapping_Function)returnNatural;functionCount (Source :inString; Set :inMaps.Character_Set)returnNatural;procedureFind_Token (Source :inString; Set :inMaps.Character_Set; Test :inMembership; First :outPositive; Last :outNatural); -- String translation subprogramsfunctionTranslate (Source :inString; Mapping :inMaps.Character_Mapping)returnString;procedureTranslate (Source :inoutString; Mapping :inMaps.Character_Mapping);functionTranslate (Source :inString; Mapping :inMaps.Character_Mapping_Function)returnString;procedureTranslate (Source :inoutString; Mapping :inMaps.Character_Mapping_Function); -- String transformation subprogramsfunctionReplace_Slice (Source :inString; Low :inPositive; High :inNatural; By :inString)returnString;procedureReplace_Slice (Source :inoutString; Low :inPositive; High :inNatural; By :inString; Drop :inTruncation := Error; Justify :inAlignment := Left; Pad :inCharacter := Space);functionInsert (Source :inString; Before :inPositive; New_Item :inString)returnString;procedureInsert (Source :inoutString; Before :inPositive; New_Item :inString; Drop :inTruncation := Error);functionOverwrite (Source :inString; Position :inPositive; New_Item :inString)returnString;procedureOverwrite (Source :inoutString; Position :inPositive; New_Item :inString; Drop :inTruncation := Right);functionDelete (Source :inString; From :inPositive; Through :inNatural)returnString;procedureDelete (Source :inoutString; From :inPositive; Through :inNatural; Justify :inAlignment := Left; Pad :inCharacter := Space); -- String selector subprogramsfunctionTrim (Source :inString; Side :inTrim_End)returnString;procedureTrim (Source :inoutString; Side :inTrim_End; Justify :inAlignment := Left; Pad :inCharacter := Space);functionTrim (Source :inString; Left :inMaps.Character_Set; Right :inMaps.Character_Set)returnString;procedureTrim (Source :inoutString; Left :inMaps.Character_Set; Right :inMaps.Character_Set; Justify :inAlignment := Strings.Left; Pad :inCharacter := Space);functionHead (Source :inString; Count :inNatural; Pad :inCharacter := Space)returnString;procedureHead (Source :inoutString; Count :inNatural; Justify :inAlignment := Left; Pad :inCharacter := Space);functionTail (Source :inString; Count :inNatural; Pad :inCharacter := Space)returnString;procedureTail (Source :inoutString; Count :inNatural; Justify :inAlignment := Left; Pad :inCharacter := Space); -- String constructor functionsfunction"*" (Left :inNatural; Right :inCharacter)returnString;function"*" (Left :inNatural; Right :inString)returnString;endAda.Strings.Fixed;
See also
Wikibook
External examples
- Search for examples of
Ada.Strings.Fixedin: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Strings.Fixedin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 95
Ada 2005
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: a-strfix.ads
- Body: a-strfix.adb
drake
- Specification: strings/a-strfix.ads