From: porton@ex-code.com (Victor Porton)
Subject: Re: Booch: iterator invalidation
Date: Tue, 12 Nov 2002 22:42:07 +0500
Date: 2002-11-12T18:20:04+00:00 [thread overview]
Message-ID: <3dd14654$0$300$bed64819@news.gradwell.net> (raw)
In-Reply-To: 3dcbb4e4$0$299$bed64819@news.gradwell.net
In article <u65v268c4.fsf@gsfc.nasa.gov>,
Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov> writes:
> Simon Wright <simon@pushface.org> writes:
>
>> > It also would be great to have the debug version of Booch, checking
>> > validity of iterators and raising an exception. With GNAT it can be
>> > done as in C by #ifdef/#endif preprocessor directives (assigning a
>> > long (may be 64, 128, or 256 bytes) counter incrementing on each
>> > invalidation to each container and analogous counters to iterators
>> > and comparing these counters).
>>
> I believe "pragma Assert" is supported by all major Ada compilers at
> this time; that could be used to give a good "debug version".
I'm not about asserting but about records which have or don't have
a component dependingly on whether it is the debuging version. Can
variant records be used for this without lost of space efficiency?
type T_Internal(Debug: Boolean) is
record
-- ...
case Debug is
when True =>
-- ... additional debugging stuff
when others =>
null;
end case;
end record;
type T is T_Internal(Use_Debug); -- Use_Debug is a Boolean _constant_
Will this not bring "additional debugging stuff" in the release
version (when Use_Debug=False)?
next prev parent reply other threads:[~2002-11-12 17:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-08 12:51 Booch: iterator invalidation Victor Porton
2002-11-08 13:26 ` Jeffrey Creem
2002-11-08 21:00 ` Randy Brukardt
2002-11-08 18:05 ` Victor Porton
2002-11-09 14:20 ` Simon Wright
2002-11-12 16:50 ` Stephen Leake
2002-11-12 18:28 ` Robert A Duff
2002-11-12 20:09 ` Simon Wright
2002-11-13 14:49 ` Stephen Leake
2002-11-12 17:42 ` Victor Porton [this message]
2002-11-12 20:11 ` Stephen Leake
2002-11-13 2:43 ` Victor Porton
2002-11-13 14:56 ` Stephen Leake
2002-11-13 15:40 ` Victor Porton
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox