
On Fri, May 2, 2008 at 2:22 PM, Simonson, Lucanus J <lucanus.j.simonson@intel.com> wrote:
We both have the same intent of improving programming practices through library development. The way people code geometry typically looks like:
if(condition) point.x() = value; else point.y() = value;
You are advocating a style:
if(condition) point.get<0>() = value; else point.get<1>() = value;
and I am advocating:
point.get(condition) = value;
I don't think Joel, Steven, myself, or anyone else suggesting compile-time indexing is advocating that. If the user's style is to use .x() and .y(), then he can do so. If he wants to use run-time indexing, then he can do so. But when the user decides to use a library function like contains(), the contains() implementation will rely on compile-time indexing only. We are not advocating a particular point type, only advocating that the algorithm implementations be generic and require the minimal concept needed for correctness. --Michael Fawcett