in facebook-clang-plugins/libtooling/atdlib/ATDWriter.h [341:372]
void write_escaped(const std::string &val) {
for (std::string::const_iterator i = val.begin(), e = val.end(); i != e;
i++) {
char x = *i;
switch (x) {
case '\\':
os_ << "\\\\";
break;
case '"':
os_ << "\\\"";
break;
case '\n':
os_ << "\\n";
break;
case '\t':
os_ << "\\t";
break;
case '\b':
os_ << "\\b";
break;
case '\f':
os_ << "\\f";
break;
case '\r':
os_ << "\\r";
break;
default:
os_ << x;
break;
}
}
}