hide trim() from the public interface

* src/misc/escape.cc, src/misc/escape.hh (trim): Move...
* src/priv/trim.cc, src/priv/trim.hh: ... in these new files.
* src/priv/Makefile.am: Add them.
* src/parseaut/scanaut.ll, src/parsetl/scantl.ll: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2015-11-11 11:33:15 +01:00
parent 86abd6c1c0
commit d14f0998e0
7 changed files with 74 additions and 25 deletions

View file

@ -23,10 +23,6 @@
#include "config.h" #include "config.h"
#include <sstream> #include <sstream>
#include <ostream> #include <ostream>
#include <algorithm>
#include <functional>
#include <cctype>
#include <locale>
#include <cstring> #include <cstring>
#include "escape.hh" #include "escape.hh"
@ -133,18 +129,6 @@ namespace spot
return os.str(); return os.str();
} }
void
trim(std::string& str)
{
str.erase(std::find_if(str.rbegin(), str.rend(),
std::not1(std::ptr_fun<int, int>
(std::isspace))).base(),
str.end());
str.erase(str.begin(),
std::find_if(str.begin(), str.end(),
std::not1(std::ptr_fun<int, int>(std::isspace))));
}
std::ostream& std::ostream&
quote_shell_string(std::ostream& os, const char* str) quote_shell_string(std::ostream& os, const char* str)
{ {

View file

@ -62,10 +62,6 @@ namespace spot
SPOT_API std::string SPOT_API std::string
escape_str(const std::string& str); escape_str(const std::string& str);
/// \brief Remove spaces at the front and back of \a str.
SPOT_API void
trim(std::string& str);
/// \brief Output \a str between simple quote or double quotes /// \brief Output \a str between simple quote or double quotes
/// ///
/// Simple quotes are preferred unless \a str contains some simple /// Simple quotes are preferred unless \a str contains some simple

View file

@ -26,7 +26,7 @@
#include <string> #include <string>
#include <sys/stat.h> #include <sys/stat.h>
#include "parseaut/parsedecl.hh" #include "parseaut/parsedecl.hh"
#include "misc/escape.hh" #include "priv/trim.hh"
#define YY_USER_ACTION yylloc->columns(yyleng); #define YY_USER_ACTION yylloc->columns(yyleng);
#define YY_NEVER_INTERACTIVE 1 #define YY_NEVER_INTERACTIVE 1

View file

@ -31,7 +31,7 @@
#include <string> #include <string>
#include "parsedecl.hh" #include "parsedecl.hh"
#include "misc/escape.hh" #include "priv/trim.hh"
#define YY_USER_ACTION \ #define YY_USER_ACTION \
yylloc->columns(yyleng); yylloc->columns(yyleng);

View file

@ -1,5 +1,5 @@
## -*- coding: utf-8 -*- ## -*- coding: utf-8 -*-
## Copyright (C) 2013, 2014 Laboratoire de Recherche et ## Copyright (C) 2013, 2014, 2015 Laboratoire de Recherche et
## Développement de l'Epita (LRDE). ## Développement de l'Epita (LRDE).
## ##
## This file is part of Spot, a model checking library. ## This file is part of Spot, a model checking library.
@ -23,9 +23,11 @@ AM_CXXFLAGS = $(WARNING_CXXFLAGS)
noinst_HEADERS = \ noinst_HEADERS = \
accmap.hh \ accmap.hh \
bddalloc.hh \ bddalloc.hh \
freelist.hh freelist.hh \
trim.hh
noinst_LTLIBRARIES = libpriv.la noinst_LTLIBRARIES = libpriv.la
libpriv_la_SOURCES = \ libpriv_la_SOURCES = \
bddalloc.cc \ bddalloc.cc \
freelist.cc freelist.cc \
trim.cc

39
src/priv/trim.cc Normal file
View file

@ -0,0 +1,39 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2015 Laboratoire de Recherche et Developpement de
// l'Epita (LRDE).
//
// 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 <http://www.gnu.org/licenses/>.
#include "trim.hh"
#include <algorithm>
#include <functional>
#include <cctype>
#include <locale>
namespace spot
{
void
trim(std::string& str)
{
str.erase(std::find_if(str.rbegin(), str.rend(),
std::not1(std::ptr_fun<int, int>
(std::isspace))).base(),
str.end());
str.erase(str.begin(),
std::find_if(str.begin(), str.end(),
std::not1(std::ptr_fun<int, int>(std::isspace))));
}
}

28
src/priv/trim.hh Normal file
View file

@ -0,0 +1,28 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2015 Laboratoire de Recherche et Developpement de
// l'Epita (LRDE).
//
// 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 <http://www.gnu.org/licenses/>.
#pragma once
#include <string>
namespace spot
{
/// \brief Remove spaces at the front and back of \a str.
void trim(std::string& str);
}