This is C++, inline functions in a headers do not need to be static
. Making it so is a pessimization as it will generate functions with internal linkage in every translation unit including the header. (Note that inline
in C is different from inline
in C++).
Furthermore, a static function in a cpp file already has internal linkage, making it inline
has no effect.
Templates already have an inline-like property of being allowed to be defined multiple times, and having the linker deal with it. Making them inline
is also redundant.
This change does 3 things:
- removes
static
from all inlined functions in header files - removes
inline
from allstatic inline
functions in .cpp files - removes
inline
from templates