void print()

in include/S_Expression.h [455:472]


  void print(std::ostream& output) const {
    if (m_string.empty()) {
      // The empty string needs to be explicitly represented.
      output << "\"\"";
      return;
    }
    if (std::find_if(m_string.begin(), m_string.end(), [](char c) {
          return !is_symbol_char(c);
        }) == m_string.end()) {
      // If the string only contains alphanumeric characters and underscores, we
      // display it without quotes.
      output << m_string;
    } else {
      // The string is quoted and special characters are displayed using escape
      // sequences.
      output << std::quoted(m_string);
    }
  }