From: porton@ex-code.com (Victor Porton)
Subject: Re: Booch: iterator invalidation
Date: Wed, 13 Nov 2002 07:43:07 +0500
Date: 2002-11-13T04:13:38+00:00 [thread overview]
Message-ID: <3dd1d172$0$307$bed64819@news.gradwell.net> (raw)
In-Reply-To: 3dcbb4e4$0$299$bed64819@news.gradwell.net
In article <uptta4kgc.fsf@gsfc.nasa.gov>,
Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov> writes:
> porton@ex-code.com (Victor Porton) writes:
>
>> I'm not about asserting but about records which have or don't have
>> a component dependingly on whether it is the debuging version.
>
> Hmm. I've never done that for testing. Can you give a real example?
> What sort of "additional information" would you add?
>
> I've used "debug storage pools" that report statistics on
> allocations/deallocations. I guess that is a form of what you are
> talking about here.
Yes, it is of such kind. Also it may be e.g. back references from
a container to iterators for checking validity etc.
>> 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)?
>
> Now everything that uses T_Internal has to specify a Debug
> discriminant. To intrusive for my taste.
It is meant for user code to use _only_ T, not T_Internal.
(In OO style T_Internal should be in private section.)
All compiler implementors should consider this to ensure that
they have zero space-efficiency.
next prev parent reply other threads:[~2002-11-13 2:43 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
2002-11-12 20:11 ` Stephen Leake
2002-11-13 2:43 ` Victor Porton [this message]
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