c++: `s/restrict/__restrict/`

`restrict` is not a keyword in C++, but `__restrict` is understood by
GCC-ish compilers.
Merge pull request #2042 from Kijewski/restrict

c++: `s/restrict/__restrict/`