comp.lang.ada
 help / color / mirror / Atom feed
From: braver <deliverable@gmail.com>
Subject: Re: OO Style with Ada Containers
Date: Fri, 23 Nov 2007 14:52:29 -0800 (PST)
Date: 2007-11-23T14:52:29-08:00	[thread overview]
Message-ID: <2ea3d2c9-6f8e-45c2-a605-8d919d7691e4@e4g2000hsg.googlegroups.com> (raw)
In-Reply-To: 47475850.2080208@obry.net

On Nov 24, 1:46 am, Pascal Obry <pas...@obry.net> wrote:
> braver a écrit :
>
> > Very ineteresting -- Matt, can you pls elucidate these idioms below?
>
> > On Nov 19, 5:24 am, Matthew Heaney <matthewjhea...@earthlink.net>
> > wrote:
>
> >>    type Scanner (<>) is tagged limited private;
>
> > What does (<>) say here -- that the type is unconstrained?
>
> Yes. Scanner has a privately defined discriminant. So the public view of
> Scanner must be declared unconstrained.
>
> >> private
>
> >>    type Handle (S : not null access Scanner) is limited null record;
>
> >>    type Scanner (Last : Natural) is tagged limited record
> >>       H          : Handle (Scanner'Access);
> >>       Line       : String (1 .. Last);
> >>       Word_First : Positive;
> >>       Word_Last  : Natural;
> >>    end record;
>
> > What's the logic behind the definition and usage of the Handle H
> > throughout?
>
> It is for gaining write access to function in parameter. A simpler
> solution is:
>
>     type Scanner (Last : Natural) is tagged limited record
>        Self       : access Scanner := Scanner'Unchecked_Access;
>        Line       : String (1 .. Last);
>        Word_First : Positive;
>        Word_Last  : Natural;
>     end record;

Ah.  Didn't see H assigned -- in this case, Scanner'Access with the
type name means the address of the actual parent type record instance?

So basically to simplify even further, we'd just have procedures with
honest in out parameters?

Cheers,
Alexy



  reply	other threads:[~2007-11-23 22:52 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-14 23:28 OO Style with Ada Containers braver
2007-11-14 23:50 ` Adam Beneschan
2007-11-14 23:59   ` braver
2007-11-15  0:24     ` braver
2007-11-15  9:36       ` Ludovic Brenta
2007-11-15 10:36         ` braver
2007-11-15 11:35           ` Ludovic Brenta
2007-11-15 13:50             ` braver
2007-11-19  2:45               ` Matthew Heaney
2007-11-15 18:22             ` braver
2007-11-15 20:18               ` Ludovic Brenta
2007-11-19  2:48                 ` Matthew Heaney
2007-11-19  2:47               ` Matthew Heaney
2007-11-19  2:39             ` Matthew Heaney
2007-11-19  2:38           ` Matthew Heaney
2007-11-19  2:36         ` Matthew Heaney
2007-11-19  2:24       ` Matthew Heaney
2007-11-23 10:28         ` braver
2007-11-23 13:29           ` Martin Krischik
2007-11-23 14:19             ` Georg Bauhaus
2007-11-25 13:38           ` Ludovic Brenta
2007-11-26  3:58             ` Matthew Heaney
2007-11-26  3:55           ` Matthew Heaney
2007-11-23 22:25         ` braver
2007-11-23 22:46           ` Pascal Obry
2007-11-23 22:52             ` braver [this message]
2007-11-26  4:09               ` Matthew Heaney
2007-11-26  4:07             ` Matthew Heaney
2007-11-26  4:03           ` Matthew Heaney
2007-11-26 13:45             ` Matthew Heaney
2007-11-26 19:09               ` braver
2007-11-26 20:29                 ` Matthew Heaney
2007-11-27 19:31                   ` Georg Bauhaus
2007-11-27 20:12                     ` Matthew Heaney
2007-11-25 14:08         ` braver
2007-11-26  4:21           ` Matthew Heaney
2007-11-19  1:04   ` Matthew Heaney
2007-11-15  8:43 ` Dmitry A. Kazakov
2007-11-15 14:04   ` Maciej Sobczak
2007-11-19  2:53     ` Matthew Heaney
2007-11-19 13:44       ` Maciej Sobczak
2007-11-19 14:44         ` Martin
2007-11-19 15:51         ` Matthew Heaney
2007-11-19 17:33           ` Markus E L
2007-11-19 21:29           ` Maciej Sobczak
2007-11-19 22:16             ` Matthew Heaney
2007-11-19 22:22               ` Matthew Heaney
2007-11-20 14:11               ` Maciej Sobczak
2007-11-20 17:00                 ` Matthew Heaney
2007-11-20 17:17                   ` Matthew Heaney
2007-11-20 21:13                   ` Maciej Sobczak
2007-11-20 21:57                     ` Matthew Heaney
2007-11-21  4:51                     ` Matthew Heaney
2007-11-21  9:18                       ` Georg Bauhaus
2007-11-21 15:59                         ` Maciej Sobczak
2007-11-21 17:41                           ` Georg Bauhaus
2007-11-21 22:25                         ` Jeffrey R. Carter
2007-11-20 18:06                 ` Georg Bauhaus
2007-11-19 16:19         ` Dmitry A. Kazakov
2007-11-19 20:45           ` Maciej Sobczak
2007-11-20  2:24             ` Matthew Heaney
2007-11-20  9:06             ` Dmitry A. Kazakov
2007-11-20 12:16               ` Georg Bauhaus
2007-11-21 15:17                 ` Dmitry A. Kazakov
2007-11-19  2:50   ` Matthew Heaney
2007-11-19  1:03 ` Matthew Heaney
replies disabled

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