On Tue, Dec 8, 2015 at 11:07 AM, Francois Duranleau < xiao.bai.xiong@gmail.com> wrote:
I totally agree with all you said. In addition, I would shy away from the X, Y, Z (and combinations) accessors using capital letters in order to avoid clashes with macros (I recently hit a clash with a struct member I named B0 and a macro in some Android system header; there is no B0 here, but I just want to illustrate the protential problem).
Swizzling is rendered nearly useless if it requires elaborate syntax or long names. Currently, if you want the Z and X swapped, you'd use (v,ZYX). I've considered using lower case but that doesn't work well in the case of (v,x) since it's quite likely that it'll clash with a local x. Clashes with macros are possible, but FWIW I've been using this library for years now and never had a clash (all these names are defined in a separate header, you don't have to include it if you don't need swizzling.) Thanks, Emil