Ada 编程/库/Ada.Strings.Wide_Bounded
外观
此语言特性从 Ada 95 开始可用。
Ada.Strings.Wide_Bounded 是自 Ada 95 以来 预定义语言环境 的一个单元。
-- 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.Wide_Maps;packageAda.Strings.Wide_BoundedispragmaPreelaborate (Wide_Bounded);genericMax : Positive; -- Maximum length of a Bounded_Wide_StringpackageGeneric_Bounded_LengthisMax_Length :constantPositive := Max;typeBounded_Wide_Stringisprivate; Null_Bounded_Wide_String :constantBounded_Wide_String;subtypeLength_RangeisNaturalrange0 .. Max_Length;functionLength (Source :inBounded_Wide_String)returnLength_Range; -- Conversion, Concatenation, and Selection functionsfunctionTo_Bounded_Wide_String (Source :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;functionTo_Wide_String (Source :inBounded_Wide_String)returnWide_String;procedureSet_Bounded_Wide_String (Target :outBounded_Wide_String; Source :inWide_String; Drop :inTruncation := Error);functionAppend (Left, Right :inBounded_Wide_String; Drop :inTruncation := Error)returnBounded_Wide_String;functionAppend (Left :inBounded_Wide_String; Right :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;functionAppend (Left :inWide_String; Right :inBounded_Wide_String; Drop :inTruncation := Error)returnBounded_Wide_String;functionAppend (Left :inBounded_Wide_String; Right :inWide_Character; Drop :inTruncation := Error)returnBounded_Wide_String;functionAppend (Left :inWide_Character; Right :inBounded_Wide_String; Drop :inTruncation := Error)returnBounded_Wide_String;procedureAppend (Source :inoutBounded_Wide_String; New_Item :inBounded_Wide_String; Drop :inTruncation := Error);procedureAppend (Source :inoutBounded_Wide_String; New_Item :inWide_String; Drop :inTruncation := Error);procedureAppend (Source :inoutBounded_Wide_String; New_Item :inWide_Character; Drop :inTruncation := Error);function"&" (Left, Right :inBounded_Wide_String)returnBounded_Wide_String;function"&" (Left :inBounded_Wide_String; Right :inWide_String)returnBounded_Wide_String;function"&" (Left :inWide_String; Right :inBounded_Wide_String)returnBounded_Wide_String;function"&" (Left :inBounded_Wide_String; Right :inWide_Character)returnBounded_Wide_String;function"&" (Left :inWide_Character; Right :inBounded_Wide_String)returnBounded_Wide_String;functionElement (Source :inBounded_Wide_String; Index :inPositive)returnWide_Character;procedureReplace_Element (Source :inoutBounded_Wide_String; Index :inPositive; By :inWide_Character);functionSlice (Source :inBounded_Wide_String; Low :inPositive; High :inNatural)returnWide_String;functionBounded_Slice (Source :inBounded_Wide_String; Low :inPositive; High :inNatural)returnBounded_Wide_String;procedureBounded_Slice (Source :inBounded_Wide_String; Target :outBounded_Wide_String; Low :inPositive; High :inNatural);function"=" (Left, Right :inBounded_Wide_String)returnBoolean;function"=" (Left :inBounded_Wide_String; Right :inWide_String)returnBoolean;function"=" (Left :inWide_String; Right :inBounded_Wide_String)returnBoolean;function"<" (Left, Right :inBounded_Wide_String)returnBoolean;function"<" (Left :inBounded_Wide_String; Right :inWide_String)returnBoolean;function"<" (Left :inWide_String; Right :inBounded_Wide_String)returnBoolean;function"<=" (Left, Right :inBounded_Wide_String)returnBoolean;function"<=" (Left :inBounded_Wide_String; Right :inWide_String)returnBoolean;function"<=" (Left :inWide_String; Right :inBounded_Wide_String)returnBoolean;function">" (Left, Right :inBounded_Wide_String)returnBoolean;function">" (Left :inBounded_Wide_String; Right :inWide_String)returnBoolean;function">" (Left :inWide_String; Right :inBounded_Wide_String)returnBoolean;function">=" (Left, Right :inBounded_Wide_String)returnBoolean;function">=" (Left :inBounded_Wide_String; Right :inWide_String)returnBoolean;function">=" (Left :inWide_String; Right :inBounded_Wide_String)returnBoolean; -- Search subprogramsfunctionIndex (Source :inBounded_Wide_String; Pattern :inWide_String; From :inPositive; Going :inDirection := Forward; Mapping :inWide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)returnNatural;functionIndex (Source :inBounded_Wide_String; Pattern :inWide_String; From :inPositive; Going :inDirection := Forward; Mapping :inWide_Maps.Wide_Character_Mapping_Function)returnNatural;functionIndex (Source :inBounded_Wide_String; Pattern :inWide_String; Going :inDirection := Forward; Mapping :inWide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)returnNatural;functionIndex (Source :inBounded_Wide_String; Pattern :inWide_String; Going :inDirection := Forward; Mapping :inWide_Maps.Wide_Character_Mapping_Function)returnNatural;functionIndex (Source :inBounded_Wide_String; Set :inWide_Maps.Wide_Character_Set; From :inPositive; Test :inMembership := Inside; Going :inDirection := Forward)returnNatural;functionIndex (Source :inBounded_Wide_String; Set :inWide_Maps.Wide_Character_Set; Test :inMembership := Inside; Going :inDirection := Forward)returnNatural;functionIndex_Non_Blank (Source :inBounded_Wide_String; From :inPositive; Going :inDirection := Forward)returnNatural;functionIndex_Non_Blank (Source :inBounded_Wide_String; Going :inDirection := Forward)returnNatural;functionCount (Source :inBounded_Wide_String; Pattern :inWide_String; Mapping :inWide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)returnNatural;functionCount (Source :inBounded_Wide_String; Pattern :inWide_String; Mapping :inWide_Maps.Wide_Character_Mapping_Function)returnNatural;functionCount (Source :inBounded_Wide_String; Set :inWide_Maps.Wide_Character_Set)returnNatural;procedureFind_Token (Source :inBounded_Wide_String; Set :inWide_Maps.Wide_Character_Set; Test :inMembership; First :outPositive; Last :outNatural); -- Wide_String translation subprogramsfunctionTranslate (Source :inBounded_Wide_String; Mapping :inWide_Maps.Wide_Character_Mapping)returnBounded_Wide_String;procedureTranslate (Source :inoutBounded_Wide_String; Mapping :inWide_Maps.Wide_Character_Mapping);functionTranslate (Source :inBounded_Wide_String; Mapping :inWide_Maps.Wide_Character_Mapping_Function)returnBounded_Wide_String;procedureTranslate (Source :inoutBounded_Wide_String; Mapping :inWide_Maps.Wide_Character_Mapping_Function); -- Wide_String transformation subprogramsfunctionReplace_Slice (Source :inBounded_Wide_String; Low :inPositive; High :inNatural; By :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;procedureReplace_Slice (Source :inoutBounded_Wide_String; Low :inPositive; High :inNatural; By :inWide_String; Drop :inTruncation := Error);functionInsert (Source :inBounded_Wide_String; Before :inPositive; New_Item :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;procedureInsert (Source :inoutBounded_Wide_String; Before :inPositive; New_Item :inWide_String; Drop :inTruncation := Error);functionOverwrite (Source :inBounded_Wide_String; Position :inPositive; New_Item :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;procedureOverwrite (Source :inoutBounded_Wide_String; Position :inPositive; New_Item :inWide_String; Drop :inTruncation := Error);functionDelete (Source :inBounded_Wide_String; From :inPositive; Through :inNatural)returnBounded_Wide_String;procedureDelete (Source :inoutBounded_Wide_String; From :inPositive; Through :inNatural); -- Wide_String selector subprogramsfunctionTrim (Source :inBounded_Wide_String; Side :inTrim_End)returnBounded_Wide_String;procedureTrim (Source :inoutBounded_Wide_String; Side :inTrim_End);functionTrim (Source :inBounded_Wide_String; Left :inWide_Maps.Wide_Character_Set; Right :inWide_Maps.Wide_Character_Set)returnBounded_Wide_String;procedureTrim (Source :inoutBounded_Wide_String; Left :inWide_Maps.Wide_Character_Set; Right :inWide_Maps.Wide_Character_Set);functionHead (Source :inBounded_Wide_String; Count :inNatural; Pad :inWide_Character := Wide_Space; Drop :inTruncation := Error)returnBounded_Wide_String;procedureHead (Source :inoutBounded_Wide_String; Count :inNatural; Pad :inWide_Character := Wide_Space; Drop :inTruncation := Error);functionTail (Source :inBounded_Wide_String; Count :inNatural; Pad :inWide_Character := Wide_Space; Drop :inTruncation := Error)returnBounded_Wide_String;procedureTail (Source :inoutBounded_Wide_String; Count :inNatural; Pad :inWide_Character := Wide_Space; Drop :inTruncation := Error); -- Wide_String constructor subprogramsfunction"*" (Left :inNatural; Right :inWide_Character)returnBounded_Wide_String;function"*" (Left :inNatural; Right :inWide_String)returnBounded_Wide_String;function"*" (Left :inNatural; Right :inBounded_Wide_String)returnBounded_Wide_String;functionReplicate (Count :inNatural; Item :inWide_Character; Drop :inTruncation := Error)returnBounded_Wide_String;functionReplicate (Count :inNatural; Item :inWide_String; Drop :inTruncation := Error)returnBounded_Wide_String;functionReplicate (Count :inNatural; Item :inBounded_Wide_String; Drop :inTruncation := Error)returnBounded_Wide_String;privatetypeBounded_Wide_Stringisnullrecord; Null_Bounded_Wide_String :constantBounded_Wide_String := (nullrecord);endGeneric_Bounded_Length;endAda.Strings.Wide_Bounded;
外部示例
[编辑源代码]- 搜索 示例
Ada.Strings.Wide_Bounded在: Rosetta Code, GitHub (gists), 任何 Alire 包 或 此. - 搜索 帖子 相关
Ada.Strings.Wide_Bounded在: Stack Overflow, comp.lang.ada 或 任何 Ada 相关页面.
FSF GNAT
- 规范: a-stwibo.ads
- 主体: a-stwibo.adb
drake
