1
-------------------------------------------------------------------------------
3
-- <STRONG>Copyright (c) 2001, 2002 by Thomas Wolf.</STRONG>
5
-- AdaBrowse is free software; you can redistribute it and/or modify it
6
-- under the terms of the GNU General Public License as published by the
7
-- Free Software Foundation; either version 2, or (at your option) any
8
-- later version. AdaBrowse is distributed in the hope that it will be
9
-- useful, but <EM>without any warranty</EM>; without even the implied
10
-- warranty of <EM>merchantability or fitness for a particular purpose.</EM>
11
-- See the GNU General Public License for more details. You should have
12
-- received a copy of the GNU General Public License with this distribution,
13
-- see file "<A HREF="GPL.txt">GPL.txt</A>". If not, write to the Free
14
-- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
18
-- As a special exception from the GPL, if other files instantiate generics
19
-- from this unit, or you link this unit with other files to produce an
20
-- executable, this unit does not by itself cause the resulting executable
21
-- to be covered by the GPL. This exception does not however invalidate any
22
-- other reasons why the executable file might be covered by the GPL.
26
-- Author:</STRONG><DD>
28
-- <ADDRESS><A HREF="mailto:twolf@acm.org">twolf@acm.org</A></ADDRESS></DL>
31
-- Purpose:</STRONG><DD>
32
-- Root package for the support subsystem, which contains many generally
33
-- useful operations. Most of them are generic to be as widely applicable
37
-- Tasking semantics:</STRONG><DD>
38
-- N/A. Not abortion-safe.</DL>
41
-- Storage semantics:</STRONG><DD>
42
-- No dynamic storage allocation.</DL>
47
-- 24-NOV-2001 TW Initial version.
49
-------------------------------------------------------------------------------
51
pragma License (Modified_GPL);
53
package GAL.Support is
55
pragma Elaborate_Body;
57
type Null_Type is null record;
58
-- May be useful in some instantiations, e.g. if you want a tree of
59
-- Integers only: package X is new GAL.ADT.Trees (Integer, Null_Type, ...);
61
Null_Object : constant Null_Type;
66
(Left, Right : in out Item);
68
-- Tmp := Left; Left := Right; Right := Tmp;
72
Null_Object : constant Null_Type := (null record);