From: "Luke A. Guest" <laguest@n_o_p_o_r_k_a_n_d_h_a_m.abyss2.demon.co.uk>
Subject: Re: Efficiently setting up large quantities of constant data
Date: Mon, 13 Dec 2004 22:15:43 +0000
Date: 2004-12-13T22:15:43+00:00 [thread overview]
Message-ID: <pan.2004.12.13.22.15.43.34020@n_o_p_o_r_k_a_n_d_h_a_m.abyss2.demon.co.uk> (raw)
In-Reply-To: fa59671.0412131348.2677f5ec@posting.google.com
On Mon, 13 Dec 2004 13:48:49 -0800, Michael Mounteney wrote:
> type structure is
> record
> part : component_ref;
> end record;
>
> So I will have lots of structures scattered about, which will be
> completely constant. I would like to enforce this constancy, but Ada
Well, firstly, it seems like overkill to have a record which has only a
pointer to an array. Surely, just creating your variables *as* instances
of these arrays would be better?
> (as far as I know) does not (unlike C++; that should get some hackles
> rising) allow `constant' to be splashed about in type definitions. This
> is on GNAT, which does not support pragma read_only.
By doing the above, you can of course do the following:
part : constant component_list := (...); -- Initialise me here!!
> Is there any way to ensure that these data are not modified, other than
> by forbidding direct access to structure.part etc?
Do this with a package that *has memory* and it should work nicely. Also,
make it private if you want and add an accessor that can only read from
the arrays.
Luke.
next prev parent reply other threads:[~2004-12-13 22:15 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-13 21:48 Efficiently setting up large quantities of constant data Michael Mounteney
2004-12-13 22:09 ` Stephen Leake
2004-12-13 22:15 ` Luke A. Guest [this message]
2004-12-14 0:20 ` Jeffrey Carter
2004-12-14 8:43 ` Martin Krischik
2004-12-14 12:18 ` Simon Wright
2004-12-15 21:10 ` Brian May
2004-12-16 23:18 ` Nick Roberts
2004-12-16 12:36 ` Dr. Adrian Wrigley
2004-12-16 13:50 ` Marc A. Criley
2004-12-17 2:32 ` John B. Matthews
2004-12-16 14:06 ` rien
2004-12-16 14:24 ` Vinzent 'Gadget' Hoefler
2004-12-16 18:12 ` Dr. Adrian Wrigley
2004-12-16 23:25 ` Nick Roberts
2004-12-17 5:20 ` tmoran
2004-12-17 8:38 ` Vinzent 'Gadget' Hoefler
2004-12-17 13:53 ` Dr. Adrian Wrigley
2004-12-17 14:16 ` Alex R. Mosteo
2004-12-16 17:11 ` Andre
2004-12-16 21:52 ` Larry Kilgallen
2004-12-16 23:23 ` Nick Roberts
2004-12-16 23:47 ` Dr. Adrian Wrigley
2004-12-19 14:34 ` Simon Wright
2004-12-16 18:29 ` Alex R. Mosteo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox