comp.lang.ada
 help / color / mirror / Atom feed
From: "Pascal Obry" <p.obry@der.edf.fr>
Subject: Re: Language question : function'Access / function'unchecked_Access
Date: 1998/11/25
Date: 1998-11-25T00:00:00+00:00	[thread overview]
Message-ID: <73gka5$fco$1@cf01.edf.fr> (raw)
In-Reply-To: ek1BDX5F#GA.291@nih2naac.prod2.compuserve.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2628 bytes --]

Didier,

You can't do that, the compiler is right !

There is many solutions. Two of them have been described by Matthew Heaney.

The other solution is to put you Match function in a separate package. This
way you don't
have the problem of "Accessiblility Level".

Pascal.

Didier DOUSSAUD a �crit dans le message ...
>I write a list package and need a Seach function that return the "Index" of
>the object that match some condition.
>
>(the condition is coded in a function that have for parameter the item of
>the list and return the boolean result of the test )
>
>Impossible to call the Search function ????
>
>Look the following sample may be more explicit than my poor english...
>
>Thanks
>Didier
>d_doussaud@csi.com
>
>--------------------------------------------------------------------
>package P_List is
>  type Item is null record;
>  type List is null record;
>  type Index is null record;
>
>  type Search_Function is access function ( I : Item ) return Boolean;
>
>  function Search( L : List; Funct : Search_Function ) return Index;
>end P_List;
>-----------------------------------------------------------------------
>with P_List; use P_List;
>procedure Test_Callback is
>  L : List;
>  I : Index;
>  function Match( I : Item ) return Boolean is
>  begin
>    return True;
>  end;
>begin
>
>  -- this line :
>  I := Search( L, Match );
>  -- generate the ERROR :
>  --    The Accessibility Level of The Subprogram Denoted By The The Prefix
>  --    Shall not Be Statically Deeper Than That of The Expected type
>  -- I can understand this
>
>  -- but this line :
>  I := Search( L, Match'Unchecked_Access );
>  -- generate the ERROR :
>  --    The prefix of Unchecked_Access, which is function name, has no
>  --    interpretation as A Parameterless function Call
>  -- ????
>
>  -- is it possible to do what I want in ADA ?
>end;


--|------------------------------------------------------------
--| Pascal Obry                               Team-Ada Member |
--|                                                           |
--| EDF-DER-IPN-SID- T T I                                    |
--|                       Intranet: http://cln46gb            |
--| Bureau N-023            e-mail: pascal.obry@edfgdf.fr     |
--| 1 Av G�n�ral de Gaulle  voice : +33-1-47.65.50.91         |
--| 92141 Clamart CEDEX     fax   : +33-1-47.65.50.07         |
--| FRANCE                                                    |
--|------------------------------------------------------------
--|
--|   http://ourworld.compuserve.com/homepages/pascal_obry
--|
--|   "The best way to travel is by means of imagination"







      parent reply	other threads:[~1998-11-25  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-11-24  0:00 Language question : function'Access / function'unchecked_Access Didier DOUSSAUD
1998-11-24  0:00 ` Matthew Heaney
1998-11-25  0:00 ` Pascal Obry [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox