missing `inline`, else we may have multiple definition (generic template method are automatically 'inlined').
you may also take parameter string by const reference : `(const std::string& s)`