comp.lang.ada
 help / color / mirror / Atom feed
From: "AG" <ang@xtra.co.nz>
Subject: Re: Private discrete type as index
Date: Sat, 11 Jan 2003 16:09:30 -0800
Date: 2003-01-11T16:09:30-08:00	[thread overview]
Message-ID: <hULT9.21355$F63.398611@news.xtra.co.nz> (raw)
In-Reply-To: 8pLT9.105190$hK4.8530896@bgtnsc05-news.ops.worldnet.att.net


"James S. Rogers" <jimmaureenrogers@worldnet.att.net> wrote in message
news:8pLT9.105190$hK4.8530896@bgtnsc05-news.ops.worldnet.att.net...

> At the point of declaration of the array type the index type
> is not specified as a discrete type. The array type is not private.
> The nature of the index type must be visible within the scope of
> the declaration of the array type.

True, and the example you give below is fine *if* you want
to hide from the user the fact that the construct is an array
(that's what I meant by "iterator").

However, what if you want to let your clients know that
that the structure is indeed an array and provide appropriate
operations on the index but prevent them from directly
manipulating it?

>
> You can try an approach like the following, which does compile:
>
> package Type_Definition is
>    type Index_Type is limited private;
> private
>    type Index_Type is new Integer range 1..10;
> end Type_Definition;
>
> package Type_Definition.Collection is
>    type Collection is limited private;
> private
>    type Collection is array(Index_Type) of Boolean;
> end Type_Definition.Collection;





  reply	other threads:[~2003-01-12  0:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-11 21:42 Private discrete type as index AG
2003-01-11  2:34 ` James S. Rogers
2003-01-12  0:09   ` AG [this message]
2003-01-11  7:16     ` James S. Rogers
2003-01-12  5:47       ` AG
2003-01-11 12:22         ` Dmitry A. Kazakov
2003-01-11 14:36         ` Charles H. Sampson
2003-01-12 19:23 ` Keith Thompson
2003-01-12 19:48   ` tmoran
2003-01-15 16:45     ` Dmitry A. Kazakov
2003-01-18  6:24       ` AG
2003-01-17 14:14         ` tmoran
2003-01-19  1:38           ` AG
2003-01-18  8:36             ` tmoran
2003-01-19  6:06               ` AG
2003-01-17 16:28         ` Dmitry A. Kazakov
replies disabled

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