This is a C++ header - `__cplusplus` is always defined. Also, your check is too lax, it should be `>= 201103L`.