You cannot pass a template as if it were a function, so neither std :: forward nor your hypothetical nonstd :: identity function will work as is (as it were). You need to explicitly specify the target conversion type:
table.SortColumnUsing(3, nonstd::identity<std::string>);
This seems a little ugly to me because the type in the template specialization is a feature of the internal implementation of the table, and has nothing to do with the type that I expect from serializing the table for sorting purposes. Or maybe you are not storing the columns as std :: string.
atoi ? atoi char *, std::string, , int(const char*) int(const std::string&). , , int(const std::string&), Banana(const std string&). , , , , ++, .
, , . , , bool(const std::string&, const std::string&). , . (, : , /, ). ; std::string std::less<std::string> ( .)
, ... .