From: "Chad R. Meiners" <crmeiners@hotmail.com>
Subject: Re: Get_Line
Date: Fri, 1 Nov 2002 19:28:39 -0500
Date: 2002-11-01T19:28:39-05:00 [thread overview]
Message-ID: <apv6b4$1c23$1@msunews.cl.msu.edu> (raw)
In-Reply-To: us63nof66esp1b@corp.supernews.com
"Matthew Heaney" <mheaney@on2.com> wrote in message
news:us63nof66esp1b@corp.supernews.com...
>
> "Chad R. Meiners" <crmeiners@hotmail.com> wrote in message
> news:apuqd0$103i$1@msunews.cl.msu.edu...
> >
> > Would you be happy with the following instead?
> >
> > type Line is private;
> >
> > procedure Get_Line (File : File_Type; Item : out Line);
> >
>
> You already have a resizable string type, so you'd be better off using
that.
> The easiest solution would be to create a child of Ada.Strings.Unbounded:
The line type wasn't meant to be resizeable like Unbounded_String it was
meant to only resize at an input read.
> The closest thing in Ada is to use an access type:
>
> type Line_Type is private;
>
> type String_Access is access all String;
>
> function To_String_Access (Line : Line_Type) return String_Access;
>
> and then you could:
>
> declare
> S : String renames To_String_Access (Line).all; --no copying
> begin
>
> You could tighten the safety by being able to decorate the access type,
e.g.
>
> type String_Access (<>) is limited access all String;
>
> which would prevent users from holding on to a copy of the access value
> returned by the selector function (forcing them to do a rename, as above).
Yes that would a better approach. I was just brainstorming. Thank you for
your input.
-CRM
next prev parent reply other threads:[~2002-11-02 0:28 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-29 20:24 Get_Line Justin Birtwell
2002-10-29 20:55 ` Get_Line David C. Hoos
2002-10-30 1:30 ` Get_Line Jeffrey Carter
2002-10-30 13:33 ` Get_Line Justin Birtwell
2002-10-30 14:40 ` Get_Line Preben Randhol
2002-10-30 17:09 ` Get_Line Jean-Pierre Rosen
2002-10-30 18:08 ` Get_Line Jeffrey Carter
2002-10-30 22:42 ` Get_Line Robert A Duff
2002-10-31 0:26 ` Get_Line Chad R. Meiners
2002-10-31 0:44 ` Get_Line Robert A Duff
2002-10-31 10:32 ` Get_Line John English
2002-10-31 11:30 ` Get_Line Preben Randhol
2002-10-31 13:10 ` Get_Line John English
2002-10-31 17:39 ` Get_Line Warren W. Gay VE3WWG
2002-10-31 21:46 ` Get_Line Chad R. Meiners
2002-11-01 16:59 ` Get_Line Robert A Duff
2002-11-01 21:04 ` Get_Line Chad R. Meiners
2002-11-01 23:32 ` Get_Line Matthew Heaney
2002-11-02 0:28 ` Chad R. Meiners [this message]
2002-10-31 8:53 ` Get_Line Preben Randhol
2002-10-31 18:04 ` Get_Line Jeffrey Carter
2002-11-01 11:18 ` Get_Line Preben Randhol
2002-10-30 14:44 ` Get_Line Preben Randhol
2002-10-31 21:55 ` Get_Line Matthew Heaney
-- strict thread matches above, loose matches on Subject: below --
1999-07-02 0:00 GET LINE babefan
1999-07-02 0:00 ` czgrr
1998-06-05 0:00 get_line Steve Dyrdahl
1998-06-05 0:00 ` get_line Samuel Mize
1998-06-17 0:00 ` get_line Hans Marqvardsen
1998-06-18 0:00 ` get_line John McCabe
1998-06-21 0:00 ` get_line Robert Dewar
1998-06-06 0:00 ` get_line Dale Stanbrough
1998-06-06 0:00 ` get_line Robert Dewar
1998-06-06 0:00 ` get_line Matthew Heaney
1998-06-07 0:00 ` get_line Dale Stanbrough
1998-06-06 0:00 ` get_line Matthew Heaney
1998-06-18 0:00 ` get_line Robert I. Eachus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox