Ada Programming/Libraries/Ada.Containers.Bounded_Ordered_Maps
This language feature has been introduced in Ada 2012.
Ada.Containers.Bounded_Ordered_Maps is a unit of the Predefined Language Environment since Ada 2012.
Specification
-- 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;generictypeKey_Typeisprivate;typeElement_Typeisprivate;withfunction"<" (Left, Right : Key_Type)returnBooleanis<>;withfunction"=" (Left, Right : Element_Type)returnBooleanis<>;packageAda.Containers.Bounded_Ordered_MapsispragmaPure(Bounded_Ordered_Maps);pragmaRemote_Types(Bounded_Ordered_Maps);functionEquivalent_Keys (Left, Right : Key_Type)returnBoolean;typeMap (Capacity : Count_Type)istaggedprivatewithConstant_Indexing => Constant_Reference, Variable_Indexing => Reference, Default_Iterator => Iterate, Iterator_Element => Element_Type;pragmaPreelaborable_Initialization(Map);typeCursorisprivate;pragmaPreelaborable_Initialization(Cursor); Empty_Map :constantMap; No_Element :constantCursor;functionHas_Element (Position : Cursor)returnBoolean;packageMap_Iterator_InterfacesisnewAda.Iterator_Interfaces (Cursor, Has_Element);function"=" (Left, Right : Map)returnBoolean;functionLength (Container : Map)returnCount_Type;functionIs_Empty (Container : Map)returnBoolean;procedureClear (Container :inoutMap);functionKey (Position : Cursor)returnKey_Type;functionElement (Position : Cursor)returnElement_Type;procedureReplace_Element (Container :inoutMap; Position :inCursor; New_Item :inElement_Type);procedureQuery_Element (Position :inCursor; Process :notnullaccessprocedure(Key :inKey_Type; Element :inElement_Type));procedureUpdate_Element (Container :inoutMap; Position :inCursor; Process :notnullaccessprocedure(Key :inKey_Type; Element :inoutElement_Type));typeConstant_Reference_Type (Element :notnullaccessconstantElement_Type)isprivatewithImplicit_Dereference => Element;typeReference_Type (Element :notnullaccessElement_Type)isprivatewithImplicit_Dereference => Element;functionConstant_Reference (Container :aliasedinMap; Position :inCursor)returnConstant_Reference_Type;functionReference (Container :aliasedinoutMap; Position :inCursor)returnReference_Type;functionConstant_Reference (Container :aliasedinMap; Key :inKey_Type)returnConstant_Reference_Type;functionReference (Container :aliasedinoutMap; Key :inKey_Type)returnReference_Type;procedureAssign (Target :inoutMap; Source :inMap);functionCopy (Source : Map; Capacity : Count_Type := 0)returnMap;procedureMove (Target :inoutMap; Source :inoutMap);procedureInsert (Container :inoutMap; Key :inKey_Type; New_Item :inElement_Type; Position :outCursor; Inserted :outBoolean);procedureInsert (Container :inoutMap; Key :inKey_Type; Position :outCursor; Inserted :outBoolean);procedureInsert (Container :inoutMap; Key :inKey_Type; New_Item :inElement_Type);procedureInclude (Container :inoutMap; Key :inKey_Type; New_Item :inElement_Type);procedureReplace (Container :inoutMap; Key :inKey_Type; New_Item :inElement_Type);procedureExclude (Container :inoutMap; Key :inKey_Type);procedureDelete (Container :inoutMap; Key :inKey_Type);procedureDelete (Container :inoutMap; Position :inoutCursor);procedureDelete_First (Container :inoutMap);procedureDelete_Last (Container :inoutMap);functionFirst (Container : Map)returnCursor;functionFirst_Element (Container : Map)returnElement_Type;functionFirst_Key (Container : Map)returnKey_Type;functionLast (Container : Map)returnCursor;functionLast_Element (Container : Map)returnElement_Type;functionLast_Key (Container : Map)returnKey_Type;functionNext (Position : Cursor)returnCursor;procedureNext (Position :inoutCursor);functionPrevious (Position : Cursor)returnCursor;procedurePrevious (Position :inoutCursor);functionFind (Container : Map; Key : Key_Type)returnCursor;functionElement (Container : Map; Key : Key_Type)returnElement_Type;functionFloor (Container : Map; Key : Key_Type)returnCursor;functionCeiling (Container : Map; Key : Key_Type)returnCursor;functionContains (Container : Map; Key : Key_Type)returnBoolean;function"<" (Left, Right : Cursor)returnBoolean;function">" (Left, Right : Cursor)returnBoolean;function"<" (Left : Cursor; Right : Key_Type)returnBoolean;function">" (Left : Cursor; Right : Key_Type)returnBoolean;function"<" (Left : Key_Type; Right : Cursor)returnBoolean;function">" (Left : Key_Type; Right : Cursor)returnBoolean;procedureIterate (Container :inMap; Process :notnullaccessprocedure(Position :inCursor));procedureReverse_Iterate (Container :inMap; Process :notnullaccessprocedure(Position :inCursor));functionIterate (Container :inMap)returnMap_Iterator_Interfaces.Reversible_Iterator'Class;functionIterate (Container :inMap; Start :inCursor)returnMap_Iterator_Interfaces.Reversible_Iterator'Class;private-- not specified by the languageendAda.Containers.Bounded_Ordered_Maps;
See also
Wikibook
External examples
- Search for examples of
Ada.Containers.Bounded_Ordered_Mapsin: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Containers.Bounded_Ordered_Mapsin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: a-cborma.ads
- Body: a-cborma.adb