Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
StringUtils Class Reference

Some static methods for string processing. More...

#include <StringUtils.h>

Static Public Member Functions

static std::string adjustDecimalValue (double value, int precision)
 write with maximum precision if needed but remove trailing zeros
 
static std::string charToHex (unsigned char c)
 char to hexadecimal
 
static std::string convertUmlaute (std::string str)
 Converts german "Umlaute" to their latin-version.
 
static bool endsWith (const std::string &str, const std::string suffix)
 Checks whether a given string ends with the suffix.
 
static std::string escapeShell (const std::string &orig)
 Escape special characters with backslash.
 
static std::string escapeXML (const std::string &orig, const bool maskDoubleHyphen=false)
 Replaces the standard escapes by their XML entities.
 
template<typename T , typename... Targs>
static const std::string format (const std::string &format, T value, Targs... Fargs)
 adds a new formatted message
 
static unsigned char hexToChar (const std::string &str)
 hexadecimal to char
 
static int hexToInt (const std::string &sData)
 converts a string with a hex value into the integer value described by it by calling the char-type converter
 
static bool isBool (const std::string &sData)
 check if the given value can be converted to bool
 
static bool isDouble (const std::string &sData)
 check if the given sData can be conveted to double
 
static bool isHex (std::string sData)
 check if the given string can be converted to hex
 
static bool isInt (const std::string &sData)
 check if the given sData can be converted to int
 
static bool isLong (const std::string &sData)
 Check if the given sData can be converted to long.
 
static std::string isoTimeString (const std::chrono::time_point< std::chrono::system_clock > *const timeRef=nullptr)
 Returns an ISO8601 formatted time string with microsecond precision.
 
static std::string latin1_to_utf8 (std::string str)
 Transfers from Latin 1 (ISO-8859-1) to UTF-8.
 
static std::string padFront (const std::string &str, int length, char padding)
 
static double parseDist (const std::string &sData)
 parse a distance, length or width value with a unit
 
static double parseSpeed (const std::string &sData, const bool defaultKmph=true)
 parse a speed value with a unit
 
static std::string prune (const std::string &str)
 Removes trailing and leading whitechars.
 
static std::string pruneZeros (const std::string &str, int max)
 Removes trailing zeros (at most 'max')
 
static std::string replace (std::string str, const std::string &what, const std::string &by)
 Replaces all occurrences of the second string by the third string within the first string.
 
static bool startsWith (const std::string &str, const std::string prefix)
 Checks whether a given string starts with the prefix.
 
static std::string substituteEnvironment (const std::string &str, const std::chrono::time_point< std::chrono::system_clock > *const timeRef=nullptr)
 Replaces an environment variable with its value (similar to bash); syntax for a variable is ${NAME}.
 
static std::string to_lower_case (const std::string &str)
 Transfers the content to lower case.
 
static std::string to_upper_case (const std::string &str)
 Transfers the content to upper case.
 
static bool toBool (const std::string &sData)
 converts a string into the bool value described by it by calling the char-type converter
 
static double toDouble (const std::string &sData)
 converts a string into the double value described by it by calling the char-type converter
 
static double toDoubleSecure (const std::string &sData, const double def)
 converts a string into the integer value described by it
 
static int toInt (const std::string &sData)
 converts a string into the integer value described by it by calling the char-type converter, which
 
static int toIntSecure (const std::string &sData, int def)
 converts a string into the integer value described by it
 
static long long int toLong (const std::string &sData)
 converts a string into the long value described by it by calling the char-type converter, which
 
static MMVersion toVersion (const std::string &sData)
 parse a (network) version string
 
static std::string trim (const std::string s, const std::string &t=" \t\n")
 remove leading and trailing whitespace
 
static std::string trim_left (const std::string s, const std::string &t=" \t\n")
 remove leading whitespace from string
 
static std::string trim_right (const std::string s, const std::string &t=" \t\n")
 remove trailing whitespace from string
 
static std::string urlDecode (const std::string &encoded)
 decode url (stem from http://bogomip.net/blog/cpp-url-encoding-and-decoding/)
 
static std::string urlEncode (const std::string &url, const std::string encodeWhich="")
 encode url (stem from http://bogomip.net/blog/cpp-url-encoding-and-decoding/)
 
static std::string wrapText (const std::string s, int width)
 remove leading and trailing whitespace
 

Static Public Attributes

static std::string emptyString
 An empty string.
 

Static Private Member Functions

static void _format (const char *format, std::ostringstream &os)
 
template<typename T , typename... Targs>
static void _format (const char *format, std::ostringstream &os, T value, Targs... Fargs)
 adds a new formatted message
 

Detailed Description

Some static methods for string processing.

Definition at line 39 of file StringUtils.h.

Member Function Documentation

◆ _format() [1/2]

static void StringUtils::_format ( const char *  format,
std::ostringstream &  os 
)
inlinestaticprivate

Definition at line 200 of file StringUtils.h.

References format().

Referenced by _format(), and format().

Here is the caller graph for this function:

◆ _format() [2/2]

template<typename T , typename... Targs>
static void StringUtils::_format ( const char *  format,
std::ostringstream &  os,
value,
Targs...  Fargs 
)
inlinestaticprivate

adds a new formatted message

Definition at line 207 of file StringUtils.h.

References _format(), and format().

◆ adjustDecimalValue()

std::string StringUtils::adjustDecimalValue ( double  value,
int  precision 
)
static

write with maximum precision if needed but remove trailing zeros

Definition at line 735 of file StringUtils.cpp.

References toString().

Referenced by GNEDemandElementFlow::getFlowAttribute(), SUMOVehicleParameter::write(), and ODMatrix::writeFlows().

Here is the caller graph for this function:

◆ charToHex()

std::string StringUtils::charToHex ( unsigned char  c)
static

char to hexadecimal

Definition at line 334 of file StringUtils.cpp.

Referenced by urlEncode().

Here is the caller graph for this function:

◆ convertUmlaute()

std::string StringUtils::convertUmlaute ( std::string  str)
static

Converts german "Umlaute" to their latin-version.

Definition at line 113 of file StringUtils.cpp.

References replace().

Referenced by PCLoaderDlrNavteq::loadPolyFile(), NIImporter_Vissim::VissimSingleTypeParser::readName(), and NBEdge::reinit().

Here is the caller graph for this function:

◆ endsWith()

bool StringUtils::endsWith ( const std::string &  str,
const std::string  suffix 
)
static

Checks whether a given string ends with the suffix.

Definition at line 253 of file StringUtils.cpp.

Referenced by GNEFileDialog::assureExtension(), NIImporter_VISUM::getNamedFloat(), MSBaseVehicle::getPrefixedParameter(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), NIImporter_Vissim::load(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), and GNELoadThread::run().

Here is the caller graph for this function:

◆ escapeShell()

std::string StringUtils::escapeShell ( const std::string &  orig)
static

Escape special characters with backslash.

Definition at line 285 of file StringUtils.cpp.

References replace().

Referenced by GNEPythonTool::getCommand(), GNERunNetgenerateDialog::getRunCommand(), and GNEApplicationWindow::onCmdNewWindow().

Here is the caller graph for this function:

◆ escapeXML()

std::string StringUtils::escapeXML ( const std::string &  orig,
const bool  maskDoubleHyphen = false 
)
static

Replaces the standard escapes by their XML entities.

The strings &, <, >, ", and ' are replaced by &, <, >, ", and '

Parameters
[in]origThe original string
[in]maskDoubleHyphenWhether – in input shall be converted to &#45;&#45; (semantically equivalent but allowed in XML comments)
Returns
the string with the escaped sequences

Definition at line 269 of file StringUtils.cpp.

References replace().

Referenced by NBPTStop::addLine(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NIImporter_OpenStreetMap::insertEdge(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), RODFDetectorCon::save(), RODFDetectorCon::saveAsPOIs(), NBPTLine::write(), NBPTStop::write(), MSFCDExport::write(), GNEPoly::writeAdditional(), GNEAdditional::writeAdditionalAttributes(), OptionsCont::writeConfiguration(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeJunction(), GeoConvHelper::writeLocation(), NWWriter_XML::writeNodes(), NWWriter_OpenDrive::writeNormalEdge(), Parameterised::writeParams(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), Shape::writeShapeAttributes(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), RODFDetectorCon::writeValidationDetectors(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MEInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and MSInductLoop::writeXMLOutput().

Here is the caller graph for this function:

◆ format()

template<typename T , typename... Targs>
static const std::string StringUtils::format ( const std::string &  format,
value,
Targs...  Fargs 
)
inlinestatic

◆ hexToChar()

unsigned char StringUtils::hexToChar ( const std::string &  str)
static

hexadecimal to char

Definition at line 346 of file StringUtils.cpp.

Referenced by urlDecode().

Here is the caller graph for this function:

◆ hexToInt()

int StringUtils::hexToInt ( const std::string &  sData)
static

converts a string with a hex value into the integer value described by it by calling the char-type converter

Exceptions
anEmptyData - exception if the given string is empty
aNumberFormatException - exception when the string does not contain an integer

Definition at line 442 of file StringUtils.cpp.

Referenced by NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition::myEndElement(), and RGBColor::parseColor().

Here is the caller graph for this function:

◆ isBool()

bool StringUtils::isBool ( const std::string &  sData)
static

check if the given value can be converted to bool

Definition at line 569 of file StringUtils.cpp.

References to_lower_case().

Referenced by GNEAttributeCarrier::canParse(), and NIImporter_OpenStreetMap::insertEdge().

Here is the caller graph for this function:

◆ isDouble()

bool StringUtils::isDouble ( const std::string &  sData)
static

check if the given sData can be conveted to double

Definition at line 517 of file StringUtils.cpp.

Referenced by GNEAttributeCarrier::canParse(), RGBColor::isColor(), and isTime().

Here is the caller graph for this function:

◆ isHex()

bool StringUtils::isHex ( std::string  sData)
static

check if the given string can be converted to hex

Definition at line 466 of file StringUtils.cpp.

Referenced by RGBColor::isColor().

Here is the caller graph for this function:

◆ isInt()

bool StringUtils::isInt ( const std::string &  sData)
static

check if the given sData can be converted to int

Definition at line 370 of file StringUtils.cpp.

References isLong(), and toLong().

Referenced by GNEAttributeCarrier::canParse(), InternalTestStep::checkIntArgument(), MSDevice_SSM::filterByConflictType(), InternalTestStep::getIntArgument(), isTime(), InternalTest::parseAttributesEnumFile(), InternalTest::parseContextualMenuOperationsFile(), InternalTest::parseMovementsFile(), InternalTest::parseViewPositionsFile(), and NBRailwayTopologyAnalyzer::setPTLinePriority().

Here is the caller graph for this function:

◆ isLong()

bool StringUtils::isLong ( const std::string &  sData)
static

Check if the given sData can be converted to long.

Definition at line 415 of file StringUtils.cpp.

Referenced by isInt().

Here is the caller graph for this function:

◆ isoTimeString()

std::string StringUtils::isoTimeString ( const std::chrono::time_point< std::chrono::system_clock > *const  timeRef = nullptr)
static

Returns an ISO8601 formatted time string with microsecond precision.

Definition at line 219 of file StringUtils.cpp.

Referenced by MsgHandler::build(), PlainXMLFormatter::writeXMLHeader(), and OptionsCont::writeXMLHeader().

Here is the caller graph for this function:

◆ latin1_to_utf8()

std::string StringUtils::latin1_to_utf8 ( std::string  str)
static

Transfers from Latin 1 (ISO-8859-1) to UTF-8.

Definition at line 96 of file StringUtils.cpp.

Referenced by PCLoaderArcView::load(), NIImporter_VISUM::parse_Edges(), and NIImporter_VISUM::parse_stopPoints().

Here is the caller graph for this function:

◆ padFront()

std::string StringUtils::padFront ( const std::string &  str,
int  length,
char  padding 
)
static

Definition at line 263 of file StringUtils.cpp.

References MAX2().

Referenced by GUITLLogicPhasesTrackerWindow::drawValues().

Here is the caller graph for this function:

◆ parseDist()

double StringUtils::parseDist ( const std::string &  sData)
static

parse a distance, length or width value with a unit

Definition at line 595 of file StringUtils.cpp.

References KM_PER_MILE, and prune().

Referenced by NIImporter_OpenStreetMap::NodesHandler::myStartElement(), and NIImporter_OpenStreetMap::EdgesHandler::myStartElement().

Here is the caller graph for this function:

◆ parseSpeed()

double StringUtils::parseSpeed ( const std::string &  sData,
const bool  defaultKmph = true 
)
static

parse a speed value with a unit

Definition at line 643 of file StringUtils.cpp.

References KM_PER_MILE, and prune().

Referenced by NIImporter_OpenStreetMap::EdgesHandler::EdgesHandler(), and NIImporter_OpenStreetMap::EdgesHandler::interpretSpeed().

Here is the caller graph for this function:

◆ prune()

◆ pruneZeros()

std::string StringUtils::pruneZeros ( const std::string &  str,
int  max 
)
static

Removes trailing zeros (at most 'max')

Definition at line 66 of file StringUtils.cpp.

References MAX2().

Referenced by SUMOVehicleParameter::getDepartPos(), SUMOVehicleParameter::getDepartPosLat(), and SUMOVehicleParameter::getDepartSpeed().

Here is the caller graph for this function:

◆ replace()

std::string StringUtils::replace ( std::string  str,
const std::string &  what,
const std::string &  by 
)
static

◆ startsWith()

bool StringUtils::startsWith ( const std::string &  str,
const std::string  prefix 
)
static

Checks whether a given string starts with the prefix.

Definition at line 247 of file StringUtils.cpp.

Referenced by NLHandler::addEdgeLaneMeanData(), GenericSAXHandler::buildErrorMessage(), MSDevice_Taxi::compatibleLine(), NBNodeCont::customTLID(), GUISUMOAbstractView::displayColorLegend(), EnergyParams::EnergyParams(), MSDevice::getDeviceName(), MSDevice_Tripinfo::getGlobalParameter(), MSDevice_Routing::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUILane::getParameterWindow(), MSBaseVehicle::getPrefixedParameter(), NWWriter_DlrNavteq::getRoadClass(), MSActuatedTrafficLightLogic::init(), MSDevice_SSM::initEdgeFilter(), MSDevice_FCD::initOnce(), MSBaseVehicle::initTransientModelParams(), NIImporter_OpenStreetMap::interpretDistance(), MSDevice_Taxi::isReservation(), NBHelpers::loadEdgesFromFile(), GNESelectorFrame::SelectionOperation::loadFromFile(), GUISelectedStorage::loadIDs(), NIImporter_ArcView::loadNetwork(), NBHelpers::loadPrefixedIDsFomFile(), GUISettingsHandler::myStartElement(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::RelationHandler::myStartElement(), GUIDialog_ViewSettings::onCmdSaveSetting(), NBEdgeCont::remapIDs(), NBNodeCont::remapIDs(), SUMOSAXReader::LocalSchemaResolver::resolveEntity(), MSDevice_Routing::setParameter(), MSActuatedTrafficLightLogic::setParameter(), NEMALogic::setParameter(), NIImporter_OpenStreetMap::usableType(), and OptionsCont::writeConfiguration().

Here is the caller graph for this function:

◆ substituteEnvironment()

std::string StringUtils::substituteEnvironment ( const std::string &  str,
const std::chrono::time_point< std::chrono::system_clock > *const  timeRef = nullptr 
)
static

Replaces an environment variable with its value (similar to bash); syntax for a variable is ${NAME}.

Definition at line 145 of file StringUtils.cpp.

References replace(), and toString().

Referenced by OutputDevice::getDevice(), GUISettingsHandler::myStartElement(), and OptionsCont::set().

Here is the caller graph for this function:

◆ to_lower_case()

◆ to_upper_case()

std::string StringUtils::to_upper_case ( const std::string &  str)
static

Transfers the content to upper case.

Definition at line 86 of file StringUtils.cpp.

Referenced by MSDevice_Taxi::getTaxiTypes().

Here is the caller graph for this function:

◆ toBool()

bool StringUtils::toBool ( const std::string &  sData)
static

converts a string into the bool value described by it by calling the char-type converter

Returns
true if the sData is one of the following (case insensitive): '1', 'x', 'true', 'yes', 'on', 't'
false if the sData is one of the following (case insensitive): '0', '-', 'false', 'no', 'off', 'f'
Exceptions
EmptyData- exception if the given string is empty
BoolFormatExceptionin any other case

Definition at line 553 of file StringUtils.cpp.

References to_lower_case().

Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NLHandler::addEdgeLaneMeanData(), MSAbstractLaneChangeModel::avoidOvertakeRight(), MSVehicleType::check(), MSDevice::equippedByDefaultAssignmentOptions(), SUMOSAXAttributes::fromString(), SUMOSAXAttributes::getBool(), SUMOTrafficObject::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GUIEdge::getColorValue(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), GUIBaseVehicle::getScaleValue(), NIImporter_VISUM::getWeightedBool(), MSInsertionControl::hasTaxiDeviceType(), MSInsertionControl::hasTaxiFlow(), NEMALogic::init(), MSTrafficLightLogic::initMesoTLSPenalties(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSMeanData::MSMeanData(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), PCTypeDefHandler::myStartElement(), GUISettingsHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NEMALogic::NEMALogic(), GNEOptionsEditorRow::OptionBool::onCmdResetOption(), GNEAttributeCarrier::parse(), NIImporter_VISUM::parse_TrafficLights(), SUMOVehicleParameter::parseParkingType(), GUISettingsHandler::parseRainbowSettings(), GUISettingsHandler::parseSizeSettings(), SUMOVehicleParameter::parseStopTriggers(), GUISettingsHandler::parseTextSettings(), MSDevice_SSM::requestsTrajectories(), Option_Bool::set(), Option_BoolExtended::set(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSRailSignal::setParameter(), MSSimpleTrafficLightLogic::setParameter(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), TemplateHandler::startElement(), MSDevice_SSM::useGeoCoords(), MSDevice_SSM::writeLanesPositions(), and MSDevice_SSM::writePositions().

Here is the caller graph for this function:

◆ toDouble()

double StringUtils::toDouble ( const std::string &  sData)
static

converts a string into the double value described by it by calling the char-type converter

Exceptions
anEmptyData - exception if the given string is empty
aNumberFormatException - exception when the string does not contain a double

Definition at line 497 of file StringUtils.cpp.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NIXMLPTHandler::addPTLine(), NBEdgeCont::applyOptions(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSFrame::checkOptions(), MSDevice::equippedByDefaultAssignmentOptions(), MSActuatedTrafficLightLogic::evalAtomicExpression(), MSPModel_JuPedSim::execute(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSStoppingPlace::finishedLoading(), SUMOSAXAttributes::fromString(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), SUMOVTypeParameter::getCFParam(), SUMOVTypeParameter::getCFValueTable(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUIEdge::getColorValue(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), NGNet::getDistribution(), Parameterised::getDouble(), MSDevice_SSM::getExtraTime(), SUMOSAXAttributesImpl_Cached::getFloat(), SUMOSAXAttributesImpl_Xerces::getFloat(), SUMOSAXAttributes::getFloat(), SUMOTrafficObject::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSSOTLTrafficLightLogic::getInputSensorsLength(), SUMOVTypeParameter::getJMParam(), SUMOVTypeParameter::getLCParam(), MSSwarmTrafficLightLogic::getLearningCox(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedFloat(), NIImporter_VISUM::getNamedFloat(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), MSSwarmTrafficLightLogic::getPheroMaxVal(), GUIBaseVehicle::getScaleValue(), GNETAZRelData::getScaleValue(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), getTurningDefaults(), LinearApproxHelpers::getValueTable(), MSStoppingPlaceRerouter::getWeight(), NIImporter_VISUM::getWeightedFloat(), MSRailCrossing::init(), MSSwarmTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), PushButtonLogic::init(), SigmoidLogic::init(), SUMOVTypeParameter::initRailVisualizationParameters(), NIImporter_OpenStreetMap::interpretDistance(), isTime(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), PCLoaderVisum::load(), MSActuatedTrafficLightLogic::loadExtraState(), PCLoaderDlrNavteq::loadPolyFile(), main(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), NIImporter_ITSUMO::Handler::myEndElement(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myEndElement(), NIImporter_Vissim::NIVissimXMLHandler_Geschwindigkeitsverteilungsdefinition::myEndElement(), GUISettingsHandler::myStartElement(), NEMALogic::NEMALogic(), MSDevice_GLOSA::notifyEnter(), Distribution_Parameterized::parse(), GNEAttributeCarrier::parse(), NIVissimSingleTypeParser_Geschwindigkeitsverteilungsdefinition::parse(), NIVissimSingleTypeParser_Laengenverteilungsdefinition::parse(), NIVissimSingleTypeParser_Simdauer::parse(), NIVissimSingleTypeParser_Streckendefinition::parse(), NIVissimSingleTypeParser_Verbindungsdefinition::parse(), NIVissimSingleTypeParser_Zeitenverteilungsdefinition::parse(), NIImporter_VISUM::parse_Edges(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Point(), NIImporter_VISUM::parse_stopPoints(), NLTriggerBuilder::parseAndBuildRerouter(), SUMOVehicleParameter::parseArrivalPos(), SUMOVehicleParameter::parseArrivalPosLat(), SUMOVehicleParameter::parseArrivalSpeed(), GeomConvHelper::parseBoundaryReporting(), SUMOVehicleParserHelper::parseCFMParams(), RGBColor::parseColor(), SUMOVehicleParameter::parseDepartPos(), SUMOVehicleParameter::parseDepartPosLat(), SUMOVehicleParameter::parseDepartSpeed(), GNEOptionsEditorRow::OptionFloat::parseFloat(), SUMOVehicleParserHelper::parseFlowAttributes(), SUMOVehicleParserHelper::parseJMParams(), SUMOVTypeParameter::parseLatAlignment(), SUMOVehicleParserHelper::parseLCParams(), GenericEngineModel::parseParameter(), GUISettingsHandler::parseRainbowSettings(), GeomConvHelper::parseShapeReporting(), GUISettingsHandler::parseSizeSettings(), GUISettingsHandler::parseTextSettings(), ODMatrix::parseTimeLine(), RODFDetFlowLoader::read(), ODMatrix::readFactor(), ODMatrix::readO(), MSDevice_Battery::readParameterValue(), ODMatrix::readV(), NIImporter_DlrNavteq::readVersion(), GNENet::replaceIncomingEdge(), NIImporter_DlrNavteq::EdgesHandler::report(), Option_Float::set(), MSFrame::setMSGlobals(), MSDevice_Bluelight::setParameter(), MSDevice_DriverState::setParameter(), MSDevice_ElecHybrid::setParameter(), MSDevice_Example::setParameter(), MSDevice_Friction::setParameter(), MSDevice_GLOSA::setParameter(), MSDevice_Routing::setParameter(), MSDevice_SSM::setParameter(), MSDevice_Taxi::setParameter(), MSTransportableDevice_Routing::setParameter(), MSRailCrossing::setParameter(), MSDevice_Battery::setParameter(), MSDevice_StationFinder::setParameter(), MSDevice_ToC::setParameter(), MSLCM_LC2013::setParameter(), MSLCM_SL2015::setParameter(), MSActuatedTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSCFModel_CC::setParameter(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), string2time(), toDoubleSecure(), toVersion(), SUMOVehicleParserHelper::validProfile(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), and RODFDetector::writeEmitterDefinition().

◆ toDoubleSecure()

double StringUtils::toDoubleSecure ( const std::string &  sData,
const double  def 
)
static

converts a string into the integer value described by it

Returns
the default value if the data is empty

Definition at line 544 of file StringUtils.cpp.

References toDouble().

Referenced by MSRouteHandler::openRouteDistribution(), MSRouteHandler::openVehicleTypeDistribution(), RORouteHandler::openVehicleTypeDistribution(), and NWWriter_OpenDrive::writeRoadObjectPoly().

Here is the caller graph for this function:

◆ toInt()

int StringUtils::toInt ( const std::string &  sData)
static

converts a string into the integer value described by it by calling the char-type converter, which

Exceptions
anEmptyData - exception if the given string is empty
NumberFormatException- exception when the string does not contain an integer

Definition at line 360 of file StringUtils.cpp.

References toLong(), and toString().

Referenced by NIXMLPTHandler::addPTLine(), NIXMLEdgesHandler::addSplit(), FareModul::addStop(), NBOwnTLDef::buildNemaPhases(), NEMALogic::constructTimingAndPhaseDefs(), MSActuatedTrafficLightLogic::evalAtomicExpression(), MSDevice_SSM::filterByConflictType(), SUMOSAXAttributes::fromString(), OutputDevice::getDevice(), SUMOXMLDefinitions::getIndexFromLane(), SUMOSAXAttributes::getInt(), InternalTestStep::getIntArgument(), NBEdge::getLaneIndexFromLaneID(), NINavTeqHelper::getLaneNumber(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSSwarmTrafficLightLogic::getReinforcementMode(), NINavTeqHelper::getSpeed(), MSSOTLTrafficLightLogic::getThreshold(), MSSwarmTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), SUMOVTypeParameter::initRailVisualizationParameters(), MSBaseVehicle::initTransientModelParams(), NBHelpers::interpretLaneID(), NIImporter_OpenStreetMap::EdgesHandler::interpretPlacement(), PCLoaderVisum::load(), NIImporter_OpenDrive::loadNetwork(), NIImporter_ITSUMO::Handler::myEndElement(), NIImporter_OpenDrive::myEndElement(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myEndElement(), NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition::myEndElement(), MSStateHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), GUISettingsHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), GNEOptionsEditorRow::OptionIntVector::onCmdSetOption(), GNEAttributeCarrier::parse(), NIVissimSingleTypeParser_Fahrzeugklassendefinition::parse(), NIVissimSingleTypeParser_Fahrzeugtypdefinition::parse(), NIVissimSingleTypeParser_Kantensperrung::parse(), NIVissimSingleTypeParser_Knotendefinition::parse(), NIVissimSingleTypeParser_Streckendefinition::parse(), NIVissimSingleTypeParser_Verbindungsdefinition::parse(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Edges(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Types(), SUMOVehicleParserHelper::parseAngleTimesMap(), SUMOVehicleParameter::parseArrivalLane(), NIImporter_Vissim::VissimSingleTypeParser::parseAssignedVehicleTypes(), InternalTest::parseAttributesEnumFile(), RGBColor::parseColor(), SUMOVehicleParameter::parseDepartLane(), GenericEngineModel::parseParameter(), NIVissimSingleTypeParser_Querverkehrsstoerungsdefinition::parsePos(), GUISettingsHandler::parseRainbowSettings(), SUMOVehicleParameter::parseRouteIndex(), ODMatrix::parseSingleTime(), NIImporter_DlrNavteq::readDate(), NIImporter_Vissim::VissimSingleTypeParser::readExtEdgePointDef(), ODMatrix::readO(), ODMatrix::readV(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), Option_Integer::set(), Option_IntVector::set(), MSCFModel_CC::setParameter(), NIVissimConflictArea::setPriorityRegulation(), NBRailwayTopologyAnalyzer::setPTLinePriority(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), MSSOTLE2Sensors::setVehicleWeigths(), GUIMainWindow::setWindowSizeAndPos(), toIntSecure(), toVersion(), NWWriter_SUMO::writeInternalNodes(), and NWWriter_DlrNavteq::writeLinksUnsplitted().

◆ toIntSecure()

int StringUtils::toIntSecure ( const std::string &  sData,
int  def 
)
static

converts a string into the integer value described by it

Returns
the default value if the data is empty

Definition at line 382 of file StringUtils.cpp.

References toInt().

Referenced by NIXMLConnectionsHandler::parseDeprecatedLaneDefinition().

Here is the caller graph for this function:

◆ toLong()

long long int StringUtils::toLong ( const std::string &  sData)
static

converts a string into the long value described by it by calling the char-type converter, which

Exceptions
anEmptyData - exception if the given string is empty
NumberFormatException- exception when the string does not contain a long integer

Definition at line 391 of file StringUtils.cpp.

Referenced by SUMOSAXAttributes::fromString(), SUMOSAXAttributes::getLong(), NIImporter_OpenStreetMap::insertEdge(), isInt(), PCLoaderVisum::load(), MSDevice_Vehroutes::loadState(), MSStateHandler::myStartElement(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), NIImporter_VISUM::parse_AreaSubPartElement(), NIImporter_VISUM::parse_Districts(), NIImporter_VISUM::parse_Kante(), NIImporter_VISUM::parse_PartOfArea(), NIImporter_VISUM::parse_Point(), NBEdgeCont::remapIDs(), NBNodeCont::remapIDs(), and toInt().

Here is the caller graph for this function:

◆ toVersion()

MMVersion StringUtils::toVersion ( const std::string &  sData)
static

parse a (network) version string

Definition at line 588 of file StringUtils.cpp.

References StringTokenizer::getVector(), toDouble(), and toInt().

Referenced by NIImporter_SUMO::myStartElement(), NLHandler::myStartElement(), and RONetHandler::myStartElement().

Here is the caller graph for this function:

◆ trim()

std::string StringUtils::trim ( const std::string  s,
const std::string &  t = " \t\n" 
)
static

remove leading and trailing whitespace

Definition at line 691 of file StringUtils.cpp.

References trim_left(), and trim_right().

Referenced by GNENet::createEdge().

Here is the caller graph for this function:

◆ trim_left()

std::string StringUtils::trim_left ( const std::string  s,
const std::string &  t = " \t\n" 
)
static

remove leading whitespace from string

Definition at line 677 of file StringUtils.cpp.

Referenced by trim().

Here is the caller graph for this function:

◆ trim_right()

std::string StringUtils::trim_right ( const std::string  s,
const std::string &  t = " \t\n" 
)
static

remove trailing whitespace from string

Definition at line 684 of file StringUtils.cpp.

Referenced by trim().

Here is the caller graph for this function:

◆ urlDecode()

std::string StringUtils::urlDecode ( const std::string &  encoded)
static

decode url (stem from http://bogomip.net/blog/cpp-url-encoding-and-decoding/)

Definition at line 317 of file StringUtils.cpp.

References hexToChar().

Referenced by MSDevice_SSM::getOutputFilename(), and OptionsCont::relocateFiles().

Here is the caller graph for this function:

◆ urlEncode()

std::string StringUtils::urlEncode ( const std::string &  url,
const std::string  encodeWhich = "" 
)
static

encode url (stem from http://bogomip.net/blog/cpp-url-encoding-and-decoding/)

Definition at line 292 of file StringUtils.cpp.

References charToHex().

Referenced by OptionsCont::writeConfiguration().

Here is the caller graph for this function:

◆ wrapText()

std::string StringUtils::wrapText ( const std::string  s,
int  width 
)
static

remove leading and trailing whitespace

Definition at line 697 of file StringUtils.cpp.

References StringTokenizer::getVector().

Referenced by GUIVehicle::getDriveWays(), GUIMEVehicle::getDriveWays(), GUILane::getParameterWindow(), and GUIVehicle::getStopInfo().

Here is the caller graph for this function:

Field Documentation

◆ emptyString

std::string StringUtils::emptyString
static

An empty string.

Definition at line 96 of file StringUtils.h.

Referenced by MSPerson::getNextEdge(), and GUIGlObject::getParentName().


The documentation for this class was generated from the following files: