comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada Alternatives to Unrestricted_Access
Date: Wed, 7 Mar 2018 21:38:07 +0100
Date: 2018-03-07T21:38:07+01:00	[thread overview]
Message-ID: <p7piji$8hk$1@gioia.aioe.org> (raw)
In-Reply-To: d4363829-f718-48cf-a01d-6986563e632d@googlegroups.com

On 2018-03-07 21:11, Jere wrote:

>     function Iterate
>              (C : in Container)
>               return Iterator_Interfaces.Forward_Iterator'Class;
> 
> and the generic formal for Container
> 
>     type Container is tagged private;
> 
> I'm working with an existing code base, so complete overhaul is
> not a great option.
> 
> If it isn't a good idea, are there alternatives?

[...]

> Since the Container
> implementation is unknown in the generic, I wasn't able to get a version
> of the Rosen technique to work as an alternative (same constant vs
> variable access problem).

I am not sure I understand the problem. Why don't you pass a function 
Self along with the container type:

    generic
       type Container is tagged whatever;
       function Self (C : Container'Class)
          return not null access Container'Class;
    package Iterative_Mess is

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2018-03-07 20:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07 20:11 Ada Alternatives to Unrestricted_Access Jere
2018-03-07 20:38 ` Dmitry A. Kazakov [this message]
2018-03-07 22:29   ` Jere
2018-03-08  8:27     ` Dmitry A. Kazakov
2018-03-09  0:43       ` Jere
2018-03-09  0:52         ` Jere
2018-03-09  8:28           ` Dmitry A. Kazakov
2018-03-11  0:31             ` Jere
2018-03-08  3:18 ` gautier_niouzes
2018-03-09  0:41   ` Jere
2018-03-08 17:51 ` Jeffrey R. Carter
2018-03-09  0:36   ` Jere
2018-03-09 16:46     ` Jeffrey R. Carter
2018-03-11  0:38       ` Jere
2018-03-11  9:57         ` Jeffrey R. Carter
2018-03-11 10:44           ` Dmitry A. Kazakov
2018-03-11 14:31           ` Jere
2018-03-11 15:49             ` Jeffrey R. Carter
2018-03-11 17:33               ` Jere
2018-03-11 18:12                 ` Jeffrey R. Carter
2018-03-11 19:53                   ` Jere
2018-03-12 16:28                     ` Jeffrey R. Carter
2018-03-11 18:27                 ` Niklas Holsti
2018-03-11 20:07                   ` Jere
2018-03-12 23:35                     ` Randy Brukardt
2018-03-12 23:30         ` Randy Brukardt
2018-03-13  7:46           ` Niklas Holsti
replies disabled

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