Add forward declaration that avoid strange clash on mac/clang++