/
jiteman
/
jsd-foreign-libreoffice-cppunit
Обзор
Документация
Войти
/
jiteman
/
jsd-foreign-libreoffice-cppunit
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/cppunit/StringTools.cpp
79 строк
2 KB
jiteman
initial commit has been done
14 апр 2024, 15:49
14 апр 2024, 15:49
4c53812
Код
Авторство
О чём код?
#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