From: Stephen Leake <Stephen.A.Leake@nasa.gov>
Subject: Re: Persistence of limited tagged types
Date: 07 Apr 2003 14:11:25 -0400
Date: 2003-04-07T18:26:07+00:00 [thread overview]
Message-ID: <ullymi3ea.fsf@nasa.gov> (raw)
In-Reply-To: MPG.18fb91cf7a19e42c9896d8@News.CIS.DFN.DE
Jano <nono@celes.unizar.es> writes:
> Hello,
>
> I've read several past threads about this, but to reassure me I want to
> bring it back again, or at least to know the typical workaround.
>
> I have a heterogeneous collection by means of class wide access types,
> where the accessed types itself are descendants of a
>
> type Object is abstract tagged limited private;
>
> These objects are kind of state-dependent, and I have an abstract method
> which serializes an Object to disk. So far, so good.
>
> The problem comes when I want to reconstruct the collection from disk. I
> can't think of a mean to obtain a valid allocated pointer initialized
> with some dispatching call.
>
> A neat solution could be a function that returned an allocated pointer
> given a tag, but AFAIK there is not such a function.
The external representation of the type needs to be significantly
different than the internal representation. In particular, the
external representation needs to have a "readable" representation of
the tag.
You will have to write a function that reads the external
representation of the tag, allocates an object of the appropriate
type, and returns the pointer. Yes, this function must be changed
every time you add a new tag.
--
-- Stephe
next prev parent reply other threads:[~2003-04-07 18:11 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-07 12:47 Persistence of limited tagged types Jano
2003-04-07 14:47 ` Nick Roberts
2003-04-09 10:05 ` Nick Roberts
2003-04-10 3:32 ` tmoran
2003-04-09 23:09 ` Matthew Heaney
2003-04-10 14:40 ` Nick Roberts
2003-04-10 23:37 ` Robert A Duff
2003-04-11 16:39 ` Nick Roberts
2003-04-10 18:49 ` Randy Brukardt
2003-04-10 1:12 ` Matthew Heaney
2003-04-07 18:11 ` Stephen Leake [this message]
2003-04-07 19:07 ` Hyman Rosen
2003-04-07 22:09 ` Jano
2003-04-08 13:58 ` Matthew Heaney
2003-04-10 11:41 ` Julio Cano
2003-04-10 19:14 ` Jano
2003-04-11 12:54 ` Julio Cano
2003-04-07 20:17 ` Robert Spooner
2003-04-07 21:14 ` Stephen Leake
2003-04-08 12:56 ` Robert Spooner
2003-04-08 13:41 ` Jano
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox