
Won't that not work in the presence of padding? Sorry for the TP, lookout webmail. -----Original Message----- From: boost-bounces@lists.boost.org on behalf of Marcus Lindblom Sent: Fri 9/22/2006 12:17 AM To: boost@lists.boost.org Subject: Re: [boost] Geometry/Vector Lib Olivier Grant wrote:
I agree on your point, on the other hand, you can do this :
class vector3d { public: float x, y, z;
float operator[]( int index ) const { return ((float *)this)[index]; }
float & operator[]( int index ) { return ((float *)this)[index]; }
/* ... */ };
in which case "v.x" and "v[0]" are the same thing. this is what I currently have. Now some people will argument its a hack maybe.
I've sometimes done just: class vector3d { public: float x, y, z; float operator[]( int index ) const { return (&x)[index]; } /* ... */ }; /Marcus