comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Direct_IO and files of tagged types
Date: Fri, 27 May 2005 10:38:41 +0200
Date: 2005-05-27T10:38:22+02:00	[thread overview]
Message-ID: <2nt1reaimce7.c6l18qzsap8z$.dlg@40tude.net> (raw)
In-Reply-To: Le2dnQrrZY7m_QvfRVn-vA@megapath.net

On Thu, 26 May 2005 18:51:47 -0500, Randy Brukardt wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
> news:86bcmsy3e49m.yjhfcxtf7osr.dlg@40tude.net...
>> On 26 May 2005 10:20:09 -0700, John McCormick wrote:
>>
>>> When I instantiate a version of Ada.Direct_IO with an element type that
>>> is statically tagged (it is of a specific tagged type) GNAT gives me a
>>> warning that the element type contains an access value.  My tagged type
>>> has three integer fields - no access types.  I assume that the access
>>> type referenced in the warning is to the tag mechanism. Any suggestions
>>> for ways to create binary files of statically tagged objects?
>>
>> It is not a good idea to write tags into a file even if they are statically
>> known, because that cannot be portable. Another general question is: if the
>> tag is always known what for to have it? Without dispatching tags are just
>> useless overhead!
> 
> If the object is derived from Controlled, it will be tagged even if no
> (explicit) dispatching is used. And I think that virtually all ADT types
> should be controlled and extensible

Right.

> -- so virtually all types will have
> tags. At worst the overhead is "useless" now; but that probably will change
> in the future.

What for? T'Class should have a tag. T should not.

Provided that T is not a by-reference, limited type then there is no any
good reason to put its tag into. I would really like to have *non-tagged*
controlled and extensible types for which I could have T'Class. Such types
could then be safely used in Direct_IO.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



      reply	other threads:[~2005-05-27  8:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-26 17:20 Direct_IO and files of tagged types John McCormick
2005-05-26 18:22 ` Dmitry A. Kazakov
2005-05-26 23:51   ` Randy Brukardt
2005-05-27  8:38     ` Dmitry A. Kazakov [this message]
replies disabled

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