portable for google c++ code-style