From: amir@iae.nsk.su (Amir Yantimirov)
Subject: Re: Imitation is the sincerest form of flattery
Date: 24 Mar 2003 21:04:04 -0800
Date: 2003-03-25T05:04:05+00:00 [thread overview]
Message-ID: <5115eb96.0303242104.5825a33e@posting.google.com> (raw)
In-Reply-To: 1048530794.5794@master.nyc.kbcfp.com
Hyman Rosen <hyrosen@mail.com> wrote in message news:<1048530794.5794@master.nyc.kbcfp.com>...
> Dmitry A. Kazakov wrote:
> > IMO. The idea of treating
> > A[i]=X;
> > as
> > Assign (Index (A, i), X);
> > is a wrong one.
>
> Why? In particular, this technique is used very often in C++,
> especially with expression templates. One has Index(A,i) just
> return a proxy class which holds A and i, and implements the
> Assign to take such a class. Inline expansion does the rest,
> usually resulting in code that looks like an open-coded version.
It may be said that any access/reference is too strong contract.
Luckily it is available for free for one-address-space code and
comparatively safe for one-thread one and efficient and simple, yes.
For more complex cases there are property arrays thats don't have
reference semantics and can cover bits access as well.
Amir Yantimirov
http://www174.pair.com/yamir/programming/
next prev parent reply other threads:[~2003-03-25 5:04 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-14 17:22 Imitation is the sincerest form of flattery Robert C. Leif
2003-03-14 17:57 ` Warren W. Gay VE3WWG
2003-03-14 18:16 ` chris.danx
2003-03-14 18:17 ` Hyman Rosen
2003-03-15 14:18 ` Georg Bauhaus
2003-03-16 1:06 ` Hyman Rosen
2003-03-18 10:37 ` Georg Bauhaus
2003-03-18 15:34 ` Dmitry A. Kazakov
2003-03-19 11:12 ` Georg Bauhaus
2003-03-20 8:42 ` Dmitry A. Kazakov
2003-03-20 14:27 ` Frank J. Lhota
2003-03-21 8:44 ` Dmitry A. Kazakov
2003-03-21 17:16 ` Pascal Obry
2003-03-22 9:05 ` Dmitry A. Kazakov
2003-03-22 14:11 ` Pascal Obry
2003-03-22 23:12 ` AG
2003-03-23 9:01 ` Dmitry A. Kazakov
2003-03-23 8:51 ` Dmitry A. Kazakov
2003-03-24 16:52 ` Hyman Rosen
2003-03-24 18:10 ` Dmitry A. Kazakov
2003-03-24 18:33 ` Hyman Rosen
2003-03-25 5:04 ` Amir Yantimirov [this message]
2003-03-25 19:55 ` Dmitry A. Kazakov
2003-03-25 20:22 ` Hyman Rosen
2003-03-26 13:02 ` Dmitry A. Kazakov
2003-03-26 15:06 ` Hyman Rosen
2003-03-26 16:21 ` Dmitry A. Kazakov
2003-03-26 17:00 ` Hyman Rosen
2003-03-26 18:21 ` Bill Findlay
2003-03-26 18:40 ` Hyman Rosen
2003-03-22 10:01 ` Amir Yantimirov
2003-03-23 8:41 ` Dmitry A. Kazakov
2003-03-24 4:53 ` Amir Yantimirov
2003-03-24 18:10 ` Dmitry A. Kazakov
2003-03-25 5:48 ` Amir Yantimirov
2003-03-25 15:53 ` Frank J. Lhota
2003-03-25 16:44 ` Robert A Duff
2003-03-25 18:24 ` Frank J. Lhota
2003-03-25 20:06 ` Dmitry A. Kazakov
2003-03-27 19:45 ` Frank J. Lhota
2003-03-27 21:25 ` Pascal Obry
2003-03-28 13:34 ` Dmitry A. Kazakov
2003-04-01 14:38 ` Frank J. Lhota
2003-04-02 7:37 ` Dmitry A. Kazakov
2003-03-26 7:48 ` Amir Yantimirov
2003-03-26 13:35 ` Dmitry A. Kazakov
2003-03-26 7:32 ` Amir Yantimirov
2003-03-20 23:28 ` Matthew Heaney
2003-03-21 8:49 ` Dmitry A. Kazakov
2003-03-21 21:07 ` Georg Bauhaus
2003-03-22 9:04 ` Dmitry A. Kazakov
2003-03-22 10:05 ` AG
2003-03-22 15:25 ` Georg Bauhaus
2003-03-22 19:27 ` AG
2003-03-22 21:45 ` Vinzent Hoefler
2003-03-22 22:28 ` AG
2003-03-23 23:47 ` Robert A Duff
2003-03-28 16:34 ` Georg Bauhaus
2003-03-18 15:58 ` Hyman Rosen
2003-03-19 11:05 ` Georg Bauhaus
2003-03-23 11:31 ` Florian Weimer
2003-03-23 23:39 ` Hyman Rosen
2003-03-15 12:52 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox