source: trunk/design/matreshka-internals-markable_address_utilities.ads

Last change on this file was 2464, checked in by vadim.godunko, 8 years ago

Update properties to simplify future merge from branches.

  • Property svn:keywords set to Author Date Revision
File size: 3.2 KB
Line 
1------------------------------------------------------------------------------
2-- --
3-- Matreshka Project --
4-- --
5-- Localization, Internationalization, Globalization for Ada --
6-- --
7-- Runtime Library Component --
8-- --
9------------------------------------------------------------------------------
10-- --
11-- Copyright © 2009 Vadim Godunko <vgodunko@gmail.com> --
12-- --
13-- Matreshka is free software; you can redistribute it and/or modify it --
14-- under terms of the GNU General Public License as published by the Free --
15-- Software Foundation; either version 2, or (at your option) any later --
16-- version. Matreshka is distributed in the hope that it will be useful, --
17-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
18-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General --
19-- Public License for more details. You should have received a copy of the --
20-- GNU General Public License distributed with Matreshka; see file COPYING. --
21-- If not, write to the Free Software Foundation, 51 Franklin Street, --
22-- Fifth Floor, Boston, MA 02110-1301, USA. --
23-- --
24-- As a special exception, if other files instantiate generics from this --
25-- unit, or you link this unit with other files to produce an executable, --
26-- this unit does not by itself cause the resulting executable to be --
27-- covered by the GNU General Public License. This exception does not --
28-- however invalidate any other reasons why the executable file might be --
29-- covered by the GNU Public License. --
30-- --
31------------------------------------------------------------------------------
32-- $Revision: 2464 $ $Date: 2012-02-07 18:25:04 +0000 (Tue, 07 Feb 2012) $
33------------------------------------------------------------------------------
34-- Markable address is a standard System.Address lower bit of it is used for
35-- "mark".
36with System;
37
38package Matreshka.Internals.Markable_Address_Utilities is
39
40 pragma Pure;
41
42 function Is_Marked (Value : System.Address) return Boolean;
43 pragma Inline (Is_Marked);
44
45 procedure Mark (Value : in out System.Address);
46 pragma Inline (Mark);
47
48 procedure Unmark (Value : in out System.Address);
49 pragma Inline (Unmark);
50
51 function To_Marked (Value : System.Address) return System.Address;
52 pragma Inline (To_Marked);
53
54 function To_Unmarked (Value : System.Address) return System.Address;
55 pragma Inline (To_Unmarked);
56
57end Matreshka.Internals.Markable_Address_Utilities;
Note: See TracBrowser for help on using the repository browser.