On Thu, Dec 10, 2015 at 8:10 AM, Sam Kellett
what namespace is your comma operator in? it could be placed in an extra namespace which users can explicitly pull in if they prefer the super compact (albeit controversial) syntax and then anybody else could stick with a normal free function (like my swizzle(v, xy) above) which would be in the normal qvm namespace
Yes, all QVM names are safely defined in namespaces. It's usually fine to bring the entire qvm namespace into whatever namespace you want, though this includes both types and operations and it is possible to get ambiguities if you have another *type* by the same name, e.g. mat or vec. If that is a problem, you can bring in just boost::qvm::sfinae, which contains only operations. This should never lead to any ambiguities or clashes. Emil