I think the use of the ternary operator obfuscates the code a bit. I think a chance of this nature looks like the right way to go. However, I wonder what @whunt has to say. http://llvm-reviews.chandlerc.com/D2560