Blame src/cppunit/StringTools.cpp

Packit Service e31359
#include <cppunit/tools/StringTools.h>
Packit Service e31359
#include <cppunit/portability/Stream.h>
Packit Service e31359
#include <algorithm>
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_BEGIN
Packit Service e31359
Packit Service e31359
Packit Service e31359
std::string 
Packit Service e31359
StringTools::toString( int value )
Packit Service e31359
{
Packit Service e31359
  OStringStream stream;
Packit Service e31359
  stream << value;
Packit Service e31359
  return stream.str();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
std::string 
Packit Service e31359
StringTools::toString( double value )
Packit Service e31359
{
Packit Service e31359
  OStringStream stream;
Packit Service e31359
  stream << value;
Packit Service e31359
  return stream.str();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
StringTools::Strings
Packit Service e31359
StringTools::split( const std::string &text, 
Packit Service e31359
                    char separator )
Packit Service e31359
{
Packit Service e31359
  Strings splittedText;
Packit Service e31359
Packit Service e31359
  std::string::const_iterator itStart = text.begin();
Packit Service e31359
  while ( !text.empty() )
Packit Service e31359
  {
Packit Service e31359
    std::string::const_iterator itSeparator = std::find( itStart, 
Packit Service e31359
                                                         text.end(), 
Packit Service e31359
                                                         separator );
Packit Service e31359
    splittedText.push_back( text.substr( itStart - text.begin(),
Packit Service e31359
                                         itSeparator - itStart ) );
Packit Service e31359
    if ( itSeparator == text.end() )
Packit Service e31359
      break;
Packit Service e31359
    itStart = itSeparator +1;
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  return splittedText;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
std::string 
Packit Service e31359
StringTools::wrap( const std::string &text,
Packit Service e31359
                   int wrapColumn )
Packit Service e31359
{
Packit Service e31359
  const char lineBreak = '\n';
Packit Service e31359
  Strings lines = split( text, lineBreak );
Packit Service e31359
Packit Service e31359
  std::string wrapped;
Packit Service e31359
  for ( Strings::const_iterator it = lines.begin(); it != lines.end(); ++it )
Packit Service e31359
  {
Packit Service e31359
    if ( it != lines.begin() )
Packit Service e31359
      wrapped += lineBreak;
Packit Service e31359
Packit Service e31359
    const std::string &line = *it;
Packit Service e31359
    unsigned int index =0;
Packit Service e31359
    while ( index < line.length() )
Packit Service e31359
    {
Packit Service e31359
      std::string lineSlice( line.substr( index, wrapColumn ) );
Packit Service e31359
      wrapped += lineSlice;
Packit Service e31359
      index += wrapColumn;
Packit Service e31359
      if ( index < line.length() )
Packit Service e31359
        wrapped += lineBreak;
Packit Service e31359
    }
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  return wrapped;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_END
Packit Service e31359