comp.lang.ada
 help / color / mirror / Atom feed
* Efficiently setting up large quantities of constant data
@ 2004-12-13 21:48 Michael Mounteney
  2004-12-13 22:09 ` Stephen Leake
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Michael Mounteney @ 2004-12-13 21:48 UTC (permalink / raw)


I want to set up about 100 variables which somehow reference
variable-length arrays of other things.  The other things, for a given
variable, are fixed.  Simplifying:

     type component is
          record
               X : character;
          end record;

     type component_list is array (positive range <>) of component;

     type component_ref is access all component_list;

     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
(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.

Is there any way to ensure that these data are not modified, other
than by forbidding direct access to structure.part etc?



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2004-12-19 14:34 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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