comp.lang.ada
 help / color / mirror / Atom feed
From: Florian Weimer <fw@deneb.enyo.de>
Subject: Re: Ada 2012 : aliased parameters ?
Date: Sat, 23 Apr 2011 20:47:16 +0200
Date: 2011-04-23T20:47:16+02:00	[thread overview]
Message-ID: <87aafgerez.fsf@mid.deneb.enyo.de> (raw)
In-Reply-To: imriv1$3ti$1@munin.nbi.dk

* Randy Brukardt:

> The motivating case is to make the containers better. Ada 2012 adds the 
> following to all of the containers:
>
>     function Reference (Container : aliased in out Vector; Position : in 
> Cursor)
>        return Reference_Type;
>
> where Reference_Type is defined as:
>
>     type Reference_Type (Element : not null access Element_Type) is private
>        with
>           Implicit_Dereference => Element;

Is it necessary that Element is a discriminant?  If the aliased
business works with fields, you could write something like this:

  type String_Reference is record
     Data : access String;
  end record;

  function "+" (S: aliased String) return String_Reference is
  begin
     return String_Reference'(Data => S'Access);
  end "+";

String_Reference could be part of an array, so we would get ragged
arrays as a side effect.

In any case, it seems to me that the definition of "master" in 7.6.1
needs updating.



  parent reply	other threads:[~2011-04-23 18:47 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-28 11:47 Ada 2012 : aliased parameters ? Yannick Duchêne (Hibou57)
2011-03-28 11:56 ` Dmitry A. Kazakov
2011-03-29  3:04   ` Randy Brukardt
2011-03-28 11:56 ` AdaMagica
2011-03-29 18:22   ` Florian Weimer
2011-03-29 18:34     ` Shark8
2011-03-29 19:35       ` Florian Weimer
2011-03-30  0:12     ` Randy Brukardt
2011-03-29  3:16 ` Randy Brukardt
2011-03-29  7:34   ` Maciej Sobczak
2011-03-30  0:09     ` Randy Brukardt
2011-03-30 19:44       ` Randy Brukardt
2011-04-23 18:47   ` Florian Weimer [this message]
2011-04-25  7:19     ` Randy Brukardt
2011-04-28 19:47       ` Florian Weimer
2011-04-28 23:54         ` Randy Brukardt
2011-04-30 18:32           ` Florian Weimer
2011-04-30 23:46             ` Randy Brukardt
replies disabled

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