-- Abstract: -- -- Root package for Stephe's Ada Library packages. -- -- See sal.html for more information. -- -- See http://stephe-leake.org/ada/sal.html for the -- latest version. -- -- Contact Stephe at stephen_leake@stephe-leake.org. -- -- Copyright (C) 1997 - 2004, 2008, 2009, 2015, 2017, 2018, 2020, 2021 Free Software Foundation, Inc. -- -- SAL is free software; you can redistribute it and/or modify it -- under terms of the GNU General Public License as published by the -- Free Software Foundation; either version 3, or (at your option) any -- later version. SAL is distributed in the hope that it will be -- useful, but WITHOUT ANY WARRANTY; without even the implied warranty -- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- General Public License for more details. You should have received a -- copy of the GNU General Public License distributed with SAL; see -- file COPYING. If not, write to the Free Software Foundation, 59 -- Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- -- As a special exception, if other files instantiate generics from -- SAL, or you link SAL object files with other files to produce -- an executable, that does not by itself cause the resulting -- executable to be covered by the GNU General Public License. This -- exception does not however invalidate any other reasons why the -- executable file might be covered by the GNU Public License. pragma License (Modified_GPL); with Ada.Containers; package SAL is pragma Pure; function Version return String; -- Returns string with format "SAL x.xx". Container_Empty : exception; Container_Full : exception; Config_File_Error : exception; Domain_Error : exception; Duplicate_Key : exception; Initialization_Error : exception; Invalid_Format : exception; Invalid_Limit : exception; Invalid_Operation : exception; Invalid_Range : exception; Iterator_Error : exception; Not_Found : exception; Not_Implemented : exception; Parameter_Error : exception; Programmer_Error : exception; Range_Error : exception; -------------- -- General options type Direction_Type is (Forward, Backward); type Duplicate_Action_Type is (Allow, Ignore, Error); subtype Ignore_Error_Type is Duplicate_Action_Type range Ignore .. Error; type Overflow_Action_Type is (Overwrite, Error); -- We use a new type for Peek_Type, not just -- Ada.Containers.Count_Type, to enforce Peek_Type'First = top/first. type Base_Peek_Type is new Ada.Containers.Count_Type range 0 .. Ada.Containers.Count_Type'Last; subtype Peek_Type is Base_Peek_Type range 1 .. Base_Peek_Type'Last; Invalid_Peek_Index : constant Base_Peek_Type := 0; type Compare_Result is (Less, Equal, Greater); function String_Compare (Left, Right : in String) return Compare_Result; generic type Item_Type is (<>); function Gen_Compare_Integer (Left, Right : in Item_Type) return Compare_Result; end SAL;