From: "ME" <abcdefg@nonodock.net>
Subject: Re: Constant record components
Date: Wed, 12 Jul 2006 23:58:54 -0700
Date: 2006-07-12T23:58:54-07:00 [thread overview]
Message-ID: <12bbrq2lqngr807@corp.supernews.com> (raw)
In-Reply-To: 44afe7b2$0$29128$9b4e6d93@newsread4.arcor-online.net
"Georg Bauhaus" <bauhaus@futureapps.de> wrote in message
news:44afe7b2$0$29128$9b4e6d93@newsread4.arcor-online.net...
> ME wrote:
>> "Georg Bauhaus" <bauhaus@futureapps.de> wrote in message
>> news:1152263715.5568.1.camel@localhost...
>>> On Thu, 2006-07-06 at 22:39 -0700, ME wrote:
>>>> What I am looking for is a way to read in a values from a file ,assign
>>>> them
>>>> once to records and disallow any future assignment i.e. these
>>>> "constant
>>>> parts of the records represent a structure that I don't want to ever
>>>> change
>>>> during the life of the program (write once and read only afterwards).
>>> Wouldn't it be an option to declare the public view
>>> of the to-be-constant record subtype limited?
>> The record has no discriminants
>
> Yes. What I meant has in fact little to do with discriminants.
> package P is
>
> type C is limited private;
> -- to be the constant part in R -- C ops ...
>
> type R is record -- cannot be assigned because
but I need R to be assigned
anyway the unconstrained array of records R is private
> immutable: C; -- this cannot be assigned either (read only)
> other_data: Integer; -- (read/write)
> end record;
>
> type Grid is array(...) of R;
>
> -- etc.
>
> private
> type C is record
> mutable: Integer; -- can be assigned, e.g. during init
> end record;
>
> -- perform initialization in package body, maybe require
> -- a suitable callback that reads initial values
> -- ...
>
> end P;
next prev parent reply other threads:[~2006-07-13 6:58 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <12ad8guf3sg1o0d@corp.supernews.com>
2006-07-01 17:06 ` Constant record components Dmitry A. Kazakov
2006-07-01 17:37 ` ME
2006-07-01 18:33 ` Georg Bauhaus
2006-07-01 21:44 ` Jeffrey R. Carter
2006-07-02 9:18 ` Georg Bauhaus
2006-07-02 16:13 ` ME
2006-07-03 7:50 ` Dmitry A. Kazakov
2006-07-03 11:46 ` Craig Carey
2006-07-04 0:06 ` M E Leypold
2006-07-03 16:31 ` ME
2006-07-03 23:53 ` Randy Brukardt
2006-07-04 1:59 ` Craig Carey
2006-07-04 7:25 ` ME
2006-07-05 21:55 ` Randy Brukardt
2006-07-06 0:59 ` tmoran
2006-07-06 7:47 ` Jean-Pierre Rosen
2006-07-06 22:29 ` Randy Brukardt
2006-07-07 4:34 ` Jeffrey R. Carter
2006-07-07 5:39 ` ME
2006-07-07 9:15 ` Georg Bauhaus
2006-07-08 16:13 ` ME
2006-07-08 17:14 ` Georg Bauhaus
2006-07-13 6:58 ` ME [this message]
2006-07-13 8:39 ` Georg Bauhaus
2006-07-07 21:04 ` Randy Brukardt
2006-07-14 8:15 ` Craig Carey
2006-07-14 12:51 ` Craig Carey
2006-07-15 3:45 ` ME
2006-07-04 0:08 ` M E Leypold
2006-07-02 5:52 ` Craig Carey
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox