comp.lang.ada
 help / color / mirror / Atom feed
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)?



  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