Can you use SGString instead? Otherwise the methods that take an std::string
as an argument won't work in target interfaces since there are no typemaps for
std::string but there should be for SGString.

In general the rule is that it is ok to use STL stuff in implementation files but
not in the headers, and if you really need to use it in a header then create an
implementation class that won't be visible to SWIG.