comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Two 'Output questions
Date: Thu, 30 Jun 2005 14:08:16 -0500
Date: 2005-06-30T14:08:16-05:00	[thread overview]
Message-ID: <gYCdnSO97OH431nfRVn-og@megapath.net> (raw)
In-Reply-To: 42C43B48.1040802@mailinator.com

"Alex R. Mosteo" <devnull@mailinator.com> wrote in message
news:42C43B48.1040802@mailinator.com...
> Hello everybody,
>
> a) Is there any guarantee that 'Output is implemented like...?
>
>     1. Write bounds/Tag
>     2. Call to 'Write

No, because it might be inherited (untagged types only) or redefined. But if
it is not, the default implementation is described by 13.13.2(25-27), and it
says the same as the above.

> I see that the containers provided with gnat gap 2005 have 'write
> redefined but not 'output. While I don't see reasons to use 'output on
> definite types (?), I'm guessing gnat does so because of a). I don't see
> any explanation in the RM, so if I'm right it may be still
> gnat-dependent. I suppose it's handy too to not have to redefine both
> 'Output and 'Write when the latter is enough.

Like I said, see 13.13.2(25-27).

> b) Is there any way to call the default 'Output attribute once you have
> redefined it? The reason for this is that I have a variant record in
> which just one of the variations needs special treatment... I have ideas
> for workarounds but I'm now just curious.

If the type is derived, you can call the operation of the parent type in the
obvious way. You might be able to rename the original operation before the
redefinition (the "squirreling away" type of rename, which certainly works
for overriding). But otherwise it is gone.

                       Randy.






  parent reply	other threads:[~2005-06-30 19:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-30 18:34 Two 'Output questions Alex R. Mosteo
2005-06-30 18:58 ` Matthew Heaney
2005-06-30 19:08 ` Randy Brukardt [this message]
2005-07-01  9:09   ` Alex R. Mosteo
2005-07-01  5:13 ` Simon Wright
replies disabled

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