template, static_cast, inline, const