From: willett@cbnewsl.att.com (david.c.willett)
Subject: Re: Types defining h/w r/o or w/o registers
Date: 31 May 91 17:03:53 GMT [thread overview]
Message-ID: <1991May31.170353.21919@cbnewsl.att.com> (raw)
In-Reply-To: 3949@titan.tsd.arlut.utexas.edu
In article <3949@titan.tsd.arlut.utexas.edu>, gardner@titan.tsd.arlut.utexas.edu (Don Gardner) writes:
> Is there some way to define a type such that all variables of that
> type can be only read or only written? For instance, I have a type that
> defines the status register of some peripheral which can only be
> read. It would be best if the compiler could flag any assignments
> to variables of such a type as errors.
>
> Is there some other means for commonly handling this problem? The
> compiler being used is VADSWorks, if an implementation-defined solution
> is required.
Don,
The Ada LRM defines a "limited private" type as being one for which
the assignment operators are not valid outside the package in which the
type is declared (see Booch, "Programming in Ada" pg. 125). I think that
will take care of the read only case. Only suggestion I have on write
only is to hide the write operation in a package and provide no
corresponding read function.
Good Luck,
Dave Willett
next prev parent reply other threads:[~1991-05-31 17:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
1991-05-30 13:03 Types defining h/w r/o or w/o registers Don Gardner
1991-05-31 17:03 ` david.c.willett [this message]
1991-05-31 17:10 ` david.c.willett
1991-05-31 17:26 ` J o s e D u a r t e
1991-06-01 8:34 ` Orville R. Weyrich
1991-06-01 10:01 ` Types defining h/w r/o or w/o regis stt
1991-06-02 16:54 ` Types defining h/w r/o or w/o registers rharwood
1991-06-03 7:57 ` Orville R. Weyrich
1991-06-04 14:08 ` John Goodenough
1991-06-04 14:48 ` Anthony Shipman
1991-06-05 13:59 ` John Goodenough
-- strict thread matches above, loose matches on Subject: below --
1991-06-05 18:59 John Goodenough
1991-06-06 3:02 Steven V. Case
1991-06-09 0:15 ` rharwood
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox