fix Boost error, caused on MacOSX by its check macro

/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:155:42:
error: expected member name or ';' after declaration specifiers
   static ::boost::type_traits::yes_type check(has_operator); // this
version is preferred when operator exists
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/AssertMacros.h:1291:28:
note: expanded from macro 'check'
        #define check(assertion)  __Check(assertion)
                                  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/AssertMacros.h:280:5:
note: expanded from macro '__Check'
                  do
\
                  ^
fix warnings