comp.lang.ada
 help / color / mirror / Atom feed
From: adam@irvine.com (Adam Beneschan)
Subject: Re: Assignment of limited private types...
Date: Tue, 7 Feb 1995 02:23:52 GMT
Date: 1995-02-07T02:23:52+00:00	[thread overview]
Message-ID: <D3Lyns.5yC@irvine.com> (raw)
In-Reply-To: 3gjce1$1he@theopolis.orl.mmc.com

"Theodore E. Dennison" <dennison@escmail.mmc.orl.com> writes:
>stevem@dcs.gla.ac.uk (Steve McGowan) wrote:
> >
> > I'd like to pass in a 'file_type' identifier into a task, make a local
> > copy of this identifier within the task, and then write text to this
> > file stream inside the task.
> > 
> > But I cannot do this since 'file_type' is limited private.
> > 
> > Any ideas how I can pass in this identifier, and to write to it
> > locally?
> > 
> 
> The reason people make types "limited private" is so users CAN'T 
> make local copies of the objects. If the designer wanted you to
> be able to make copies of file_type objects, she would have made
> the type "private".
> 
> If for some reason you HAVE to make a copy, you could use an 
> unchecked_conversion, but DO NOT DO THIS! Odds are very high that 
> you will not get the results you desire. Try something else.

I usually solve problems of this type by using pointers.  E.g.

        type file_type_p is access file_type;

Now, when you want to open and access a file:

        my_file := new file_type_p;
        text_io.open (my_file.all, ...);
        text_io.get_line (my_file.all, ...);
        etc.
        text_io.close (my_file.all);

and you can assign file_type_p objects and pass them as parameters to
your heart's content.

Hope this helps,
                                -- Adam



  parent reply	other threads:[~1995-02-07  2:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-01-26 16:37 Assignment of limited private types Steve McGowan
1995-01-30 18:50 ` Theodore E. Dennison
1995-01-31  1:05   ` Henry Baker
1995-02-01 12:29   ` Robert Dewar
1995-02-07  2:23   ` Adam Beneschan [this message]
  -- strict thread matches above, loose matches on Subject: below --
1995-01-31  2:35 tmoran
replies disabled

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