Ada 编程/库/Ada.Containers.Bounded_Ordered_Sets
外观
此语言功能已在Ada 2012中引入。
Ada.Containers.Bounded_Ordered_Sets 是自 Ada 2012 以来 预定义语言环境 的一个单元。
-- Standard Ada library specification -- 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.Iterator_Interfaces;generictypeElement_Typeisprivate;withfunction"<" (Left, Right : Element_Type)returnBooleanis<>;withfunction"=" (Left, Right : Element_Type)returnBooleanis<>;packageAda.Containers.Bounded_Ordered_SetsispragmaPure(Bounded_Ordered_Sets);pragmaRemote_Types(Bounded_Ordered_Sets);functionEquivalent_Elements (Left, Right : Element_Type)returnBoolean;typeSet (Capacity : Count_Type)istaggedprivatewithConstant_Indexing => Constant_Reference, Default_Iterator => Iterate, Iterator_Element => Element_Type;pragmaPreelaborable_Initialization(Set);typeCursorisprivate;pragmaPreelaborable_Initialization(Cursor); Empty_Set :constantSet; No_Element :constantCursor;functionHas_Element (Position : Cursor)returnBoolean;packageSet_Iterator_InterfacesisnewAda.Iterator_Interfaces (Cursor, Has_Element);function"=" (Left, Right : Set)returnBoolean;functionEquivalent_Sets (Left, Right : Set)returnBoolean;functionTo_Set (New_Item : Element_Type)returnSet;functionLength (Container : Set)returnCount_Type;functionIs_Empty (Container : Set)returnBoolean;procedureClear (Container :inoutSet);functionElement (Position : Cursor)returnElement_Type;procedureReplace_Element (Container :inoutSet; Position :inCursor; New_Item :inElement_Type);procedureQuery_Element (Position :inCursor; Process :notnullaccessprocedure(Element :inElement_Type));typeConstant_Reference_Type (Element :notnullaccessconstantElement_Type)isprivatewithImplicit_Dereference => Element;functionConstant_Reference (Container :aliasedinSet; Position :inCursor)returnConstant_Reference_Type;procedureAssign (Target :inoutSet; Source :inSet);functionCopy (Source : Set; Capacity : Count_Type := 0)returnSet;procedureMove (Target :inoutSet; Source :inoutSet);procedureInsert (Container :inoutSet; New_Item :inElement_Type; Position :outCursor; Inserted :outBoolean);procedureInsert (Container :inoutSet; New_Item :inElement_Type);procedureInclude (Container :inoutSet; New_Item :inElement_Type);procedureReplace (Container :inoutSet; New_Item :inElement_Type);procedureExclude (Container :inoutSet; Item :inElement_Type);procedureDelete (Container :inoutSet; Item :inElement_Type);procedureDelete (Container :inoutSet; Position :inoutCursor);procedureDelete_First (Container :inoutSet);procedureDelete_Last (Container :inoutSet);procedureUnion (Target :inoutSet; Source :inSet);functionUnion (Left, Right : Set)returnSet;function"or" (Left, Right : Set)returnSetrenamesUnion;procedureIntersection (Target :inoutSet; Source :inSet);functionIntersection (Left, Right : Set)returnSet;function"and" (Left, Right : Set)returnSetrenamesIntersection;procedureDifference (Target :inoutSet; Source :inSet);functionDifference (Left, Right : Set)returnSet;function"-" (Left, Right : Set)returnSetrenamesDifference;procedureSymmetric_Difference (Target :inoutSet; Source :inSet);functionSymmetric_Difference (Left, Right : Set)returnSet;function"xor" (Left, Right : Set)returnSetrenamesSymmetric_Difference;functionOverlap (Left, Right : Set)returnBoolean;functionIs_Subset (Subset : Set; Of_Set : Set)returnBoolean;functionFirst (Container : Set)returnCursor;functionFirst_Element (Container : Set)returnElement_Type;functionLast (Container : Set)returnCursor;functionLast_Element (Container : Set)returnElement_Type;functionNext (Position : Cursor)returnCursor;procedureNext (Position :inoutCursor);functionPrevious (Position : Cursor)returnCursor;procedurePrevious (Position :inoutCursor);functionFind (Container : Set; Item : Element_Type)returnCursor;functionFloor (Container : Set; Item : Element_Type)returnCursor;functionCeiling (Container : Set; Item : Element_Type)returnCursor;functionContains (Container : Set; Item : Element_Type)returnBoolean;function"<" (Left, Right : Cursor)returnBoolean;function">" (Left, Right : Cursor)returnBoolean;function"<" (Left : Cursor; Right : Element_Type)returnBoolean;function">" (Left : Cursor; Right : Element_Type)returnBoolean;function"<" (Left : Element_Type; Right : Cursor)returnBoolean;function">" (Left : Element_Type; Right : Cursor)returnBoolean;procedureIterate (Container :inSet; Process :notnullaccessprocedure(Position :inCursor));procedureReverse_Iterate (Container :inSet; Process :notnullaccessprocedure(Position :inCursor));functionIterate (Container :inSet)returnSet_Iterator_Interfaces.Reversible_Iterator'Class;functionIterate (Container :inSet; Start :inCursor)returnSet_Iterator_Interfaces.Reversible_Iterator'Class;generictypeKey_Type (<>)isprivate;withfunctionKey (Element : Element_Type)returnKey_Type;withfunction"<" (Left, Right : Key_Type)returnBooleanis<>;packageGeneric_KeysisfunctionEquivalent_Keys (Left, Right : Key_Type)returnBoolean;functionKey (Position : Cursor)returnKey_Type;functionElement (Container : Set; Key : Key_Type)returnElement_Type;procedureReplace (Container :inoutSet; Key :inKey_Type; New_Item :inElement_Type);procedureExclude (Container :inoutSet; Key :inKey_Type);procedureDelete (Container :inoutSet; Key :inKey_Type);functionFind (Container : Set; Key : Key_Type)returnCursor;functionFloor (Container : Set; Key : Key_Type)returnCursor;functionCeiling (Container : Set; Key : Key_Type)returnCursor;functionContains (Container : Set; Key : Key_Type)returnBoolean;procedureUpdate_Element_Preserving_Key (Container :inoutSet; Position :inCursor; Process :notnullaccessprocedure(Element :inoutElement_Type));typeReference_Type (Element :notnullaccessElement_Type)isprivatewithImplicit_Dereference => Element;functionReference_Preserving_Key (Container :aliasedinoutSet; Position :inCursor)returnReference_Type;functionConstant_Reference (Container :aliasedinSet; Key :inKey_Type)returnConstant_Reference_Type;functionReference_Preserving_Key (Container :aliasedinoutSet; Key :inKey_Type)returnReference_Type;endGeneric_Keys;private-- not specified by the languageendAda.Containers.Bounded_Ordered_Sets;
外部示例
[编辑源代码]- 搜索 示例 的
Ada.Containers.Bounded_Ordered_Sets在:Rosetta Code,GitHub (gists),任何 Alire 包 或本。 - 搜索 帖子 相关的
Ada.Containers.Bounded_Ordered_Sets在:Stack Overflow,comp.lang.ada 或任何 Ada 相关页面。
FSF GNAT
- 规范:a-cborse.ads
- 主体:a-cborse.adb
