// -*- coding: utf-8 -*- // Copyright (C) 2012 Laboratoire de Recherche et Developpement de // l'Epita (LRDE) // Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. // // This file is part of Spot, a model checking library. // // Spot is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // Spot is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public // License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include #include #include #include #include #include "escape.hh" namespace spot { std::ostream& escape_str(std::ostream& os, const std::string& str) { for (std::string::const_iterator i = str.begin(); i != str.end(); ++i) switch (*i) { case '\\': os << "\\\\"; break; case '"': os << "\\\""; break; case '\n': os << "\\n"; break; default: os << *i; break; } return os; } std::string escape_str(const std::string& str) { std::ostringstream os; escape_str(os, str); return os.str(); } void trim(std::string& str) { str.erase(std::find_if(str.rbegin(), str.rend(), std::not1(std::ptr_fun (std::isspace))).base(), str.end()); str.erase(str.begin(), std::find_if(str.begin(), str.end(), std::not1(std::ptr_fun(std::isspace)))); } }