diff options
Diffstat (limited to '3rdParty/CppUnit/src/src/cppunit/StringTools.cpp')
| -rw-r--r-- | 3rdParty/CppUnit/src/src/cppunit/StringTools.cpp | 80 | 
1 files changed, 80 insertions, 0 deletions
diff --git a/3rdParty/CppUnit/src/src/cppunit/StringTools.cpp b/3rdParty/CppUnit/src/src/cppunit/StringTools.cpp new file mode 100644 index 0000000..dc995d8 --- /dev/null +++ b/3rdParty/CppUnit/src/src/cppunit/StringTools.cpp @@ -0,0 +1,80 @@ +#include <cppunit/tools/StringTools.h> +#include <cppunit/portability/Stream.h> +#include <algorithm> + + +CPPUNIT_NS_BEGIN + + +std::string  +StringTools::toString( int value ) +{ +  OStringStream stream; +  stream << value; +  return stream.str(); +} + + +std::string  +StringTools::toString( double value ) +{ +  OStringStream stream; +  stream << value; +  return stream.str(); +} + + +StringTools::Strings +StringTools::split( const std::string &text,  +                    char separator ) +{ +  Strings splittedText; + +  std::string::const_iterator itStart = text.begin(); +  while ( !text.empty() ) +  { +    std::string::const_iterator itSeparator = std::find( itStart,  +                                                         text.end(),  +                                                         separator ); +    splittedText.push_back( text.substr( itStart - text.begin(), +                                         itSeparator - itStart ) ); +    if ( itSeparator == text.end() ) +      break; +    itStart = itSeparator +1; +  } + +  return splittedText; +} + + +std::string  +StringTools::wrap( const std::string &text, +                   int wrapColumn ) +{ +  const char lineBreak = '\n'; +  Strings lines = split( text, lineBreak ); + +  std::string wrapped; +  for ( Strings::const_iterator it = lines.begin(); it != lines.end(); ++it ) +  { +    if ( it != lines.begin() ) +      wrapped += lineBreak; + +    const std::string &line = *it; +    unsigned int index =0; +    while ( index < line.length() ) +    { +      std::string lineSlice( line.substr( index, wrapColumn ) ); +      wrapped += lineSlice; +      index += wrapColumn; +      if ( index < line.length() ) +        wrapped += lineBreak; +    } +  } + +  return wrapped; +} + + +CPPUNIT_NS_END +  | 
 Swift