Eclipse SUMO - Simulation of Urban MObility
|
#include <StringTokenizer.h>
Public Member Functions | |
std::string | front () |
returns the first substring without moving the iterator | |
std::string | get (int pos) const |
returns the item at the given position | |
std::set< std::string > | getSet () |
return set of strings | |
std::vector< std::string > | getVector () |
return vector of strings | |
bool | hasNext () |
returns the information whether further substrings exist | |
std::string | next () |
returns the next substring when it exists. Otherwise the behaviour is undefined | |
void | reinit () |
reinitialises the internal iterator | |
int | size () const |
returns the number of existing substrings | |
StringTokenizer () | |
default constructor | |
StringTokenizer (std::string tosplit) | |
constructor | |
StringTokenizer (std::string tosplit, int special) | |
constructor | |
StringTokenizer (std::string tosplit, std::string token, bool splitAtAllChars=false) | |
constructor | |
~StringTokenizer () | |
destructor | |
Static Public Attributes | |
static const int | NEWLINE = -256 |
identifier for splitting the given string at all newline characters | |
static const int | SPACE = 32 |
the ascii index of the highest whitespace character | |
static const int | TAB = 9 |
the ascii index of the tab character | |
static const int | WHITECHARS = -257 |
identifier for splitting the given string at all whitespace characters | |
Private Types | |
typedef std::vector< int > | SizeVector |
a list of positions/lengths | |
Private Member Functions | |
void | prepare (const std::string &tosplit, const std::string &token, bool splitAtAllChars) |
splits the first string at all occurrences of the second. If the third parameter is true split at all chars given in the second | |
void | prepareWhitechar (const std::string &tosplit) |
splits the first string at all occurrences of whitechars | |
Private Attributes | |
SizeVector | myLengths |
the list of substring lengths | |
int | myPos |
the current position in the list of substrings | |
SizeVector | myStarts |
the list of substring starts | |
std::string | myTosplit |
the string to split | |
StringTokenizer A class similar to the StringTokenizer from Java. It splits a string at the given string or character (or one of the special cases NEWLINE or WHITECHAR) and allows to iterate over the so generated substrings.
The normal usage is like this:
StringTokenizer st(CString("This is a line"), ' '); while(st.hasNext()) cout << st.next() << endl;
This would generate the output:
This is a line
There is something to know about the behaviour: When using WHITECHAR, a list of whitechars occuring in the string to split is regarded as a single divider. All other parameter will use multiple occurrences of operators as a list of single divider and the string between them will have a length of zero.
Definition at line 60 of file StringTokenizer.h.
|
private |
a list of positions/lengths
Definition at line 138 of file StringTokenizer.h.
StringTokenizer::StringTokenizer | ( | ) |
default constructor
Definition at line 45 of file StringTokenizer.cpp.
StringTokenizer::StringTokenizer | ( | std::string | tosplit | ) |
constructor
tosplit | is the string to split into substrings. If the string between two split positions is empty, it will not be returned. |
Definition at line 50 of file StringTokenizer.cpp.
References prepareWhitechar().
StringTokenizer::StringTokenizer | ( | std::string | tosplit, |
std::string | token, | ||
bool | splitAtAllChars = false |
||
) |
constructor
Definition at line 56 of file StringTokenizer.cpp.
References prepare().
StringTokenizer::StringTokenizer | ( | std::string | tosplit, |
int | special | ||
) |
constructor
Definition at line 62 of file StringTokenizer.cpp.
References NEWLINE, prepare(), prepareWhitechar(), TAB, and WHITECHARS.
StringTokenizer::~StringTokenizer | ( | ) |
destructor
Definition at line 85 of file StringTokenizer.cpp.
std::string StringTokenizer::front | ( | ) |
returns the first substring without moving the iterator
Definition at line 112 of file StringTokenizer.cpp.
References myLengths, myStarts, and myTosplit.
Referenced by RORouteHandler::addRide().
std::string StringTokenizer::get | ( | int | pos | ) | const |
returns the item at the given position
Definition at line 123 of file StringTokenizer.cpp.
References myLengths, myStarts, and myTosplit.
Referenced by NamedColumnsParser::get(), NIImporter_DlrNavteq::EdgesHandler::getColumn(), MSBaseVehicle::getPrefixedParameter(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), SUMOVehicleParserHelper::parseAngleTimesMap(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ProhibitionHandler::report(), and NIImporter_DlrNavteq::ConnectedLanesHandler::report().
std::set< std::string > StringTokenizer::getSet | ( | ) |
return set of strings
Definition at line 202 of file StringTokenizer.cpp.
References getVector().
Referenced by NIXMLNodesHandler::addJoinCluster(), and LIBSUMO_NAMESPACE::Vehicle::setStopParameter().
std::vector< std::string > StringTokenizer::getVector | ( | ) |
return vector of strings
Definition at line 190 of file StringTokenizer.cpp.
References hasNext(), next(), reinit(), and size().
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NIXMLNodesHandler::addJoinExclusion(), NLHandler::addPhase(), NLHandler::addPredecessorConstraint(), Parameterised::areAttributesValid(), Parameterised::areParametersValid(), NLHandler::beginE3Detector(), CharacteristicMap::CharacteristicMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), GUIApplicationWindow::create(), GUIVehicle::drawAction_drawCarriageClass(), GUIPointOfInterest::drawInnerPOI(), GUIBaseVehicle::drawOnPos(), MSActuatedTrafficLightLogic::evalCustomFunction(), MSActuatedTrafficLightLogic::evalExpression(), MSDevice_SSM::filterByConflictType(), SUMOSAXAttributes::fromString(), GNEPythonTool::getCommand(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getPermissions(), getSet(), NWWriter_DlrNavteq::getSinglePostalCode(), MSCFModel_Rail::getValueTable(), LinearApproxHelpers::getValueTable(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSPModel_JuPedSim::initialize(), MSMeanData::initWrittenAttributes(), NIImporter_OpenStreetMap::EdgesHandler::interpretChangeType(), NIImporter_OpenStreetMap::EdgesHandler::interpretLaneUse(), Parameterised::isParameterValid(), SUMOXMLDefinitions::isValidListOfNetIDs(), PCLoaderDlrNavteq::loadPolyFile(), MSDriveWay::loadState(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDetectorFileOutput::MSDetectorFileOutput(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSTriggeredRerouter::MSTriggeredRerouter(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::RelationHandler::myStartElement(), MSDevice_Bluelight::notifyMove(), GNEAllowVClassesDialog::onCmdReset(), GNEOptionsDialogElements::InputIntVector::onCmdSetOption(), GNEFrameAttributeModules::GenericDataAttributes::onCmdSetParameters(), Distribution_Parameterized::parse(), GNEAttributeCarrier::parse(), NLTriggerBuilder::parseAndBuildRerouter(), RGBColor::parseColor(), MSEdge::parseEdgesList(), OptionsCont::relocateFiles(), MSDevice_Bluelight::resetVehicle(), GNEAttributeCarrier::setACParameters(), NBEdge::setOrigID(), NEMALogic::setParameter(), Parameterised::setParametersStr(), FileHelpers::splitDirs(), string2time(), StringUtils::toVersion(), GNEVehicleTypeDialog::VTypeAttributes::VTypeAttributeRow::updateValue(), StringUtils::wrapText(), OptionsCont::writeConfiguration(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().
bool StringTokenizer::hasNext | ( | ) |
returns the information whether further substrings exist
Definition at line 93 of file StringTokenizer.cpp.
References myPos, and myStarts.
Referenced by NLHandler::addE2Detector(), MSRouteHandler::addPersonTrip(), RORouteHandler::addPersonTrip(), ROPerson::addTrip(), SUMOVehicleParameter::areInsertionChecksValid(), NLHandler::beginEdgeParsing(), canParseVehicleClasses(), NIImporter_MATSim::EdgesHandler::computePermission(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), SUMOSAXAttributes::fromString(), MSDevice_SSM::getMeasuresAndThresholds(), getVector(), MSStageTrip::getVehicles(), main(), MSRouteHandler::openRouteDistribution(), RORouteHandler::openRouteDistribution(), MSRouteHandler::openVehicleTypeDistribution(), RORouteHandler::openVehicleTypeDistribution(), SUMOVehicleParserHelper::parseAngleTimesMap(), RORouteHandler::parseEdges(), SUMOVehicleParameter::parseInsertionChecks(), NLHandler::parseLanes(), SUMOVehicleParameter::parsePersonModes(), GeomConvHelper::parseShapeReporting(), parseVehicleClasses(), ODMatrix::readV(), NamedColumnsParser::reinitMap(), Option_IntVector::set(), Option_StringVector::set(), GNEAttributeCarrier::setACParameters(), GNEVehicleTypeDialog::VTypeAttributes::VTypeAttributeRow::updateValue(), and NIImporter_OpenStreetMap::usableType().
std::string StringTokenizer::next | ( | ) |
returns the next substring when it exists. Otherwise the behaviour is undefined
Definition at line 98 of file StringTokenizer.cpp.
References myLengths, myPos, myStarts, and myTosplit.
Referenced by NLHandler::addE2Detector(), SUMOVehicleParameter::areInsertionChecksValid(), NLHandler::beginEdgeParsing(), canParseVehicleClasses(), SUMOSAXAttributes::fromString(), MSDevice_SSM::getMeasuresAndThresholds(), getVector(), PCLoaderVisum::load(), main(), MSRouteHandler::openRouteDistribution(), RORouteHandler::openRouteDistribution(), MSRouteHandler::openVehicleTypeDistribution(), RORouteHandler::openVehicleTypeDistribution(), SUMOVehicleParserHelper::parseAngleTimesMap(), GeomConvHelper::parseBoundaryReporting(), SUMOVehicleParameter::parseInsertionChecks(), NLHandler::parseLanes(), GeomConvHelper::parseShapeReporting(), ODMatrix::parseTimeLine(), parseVehicleClasses(), ODMatrix::readO(), ODMatrix::readTime(), ODMatrix::readV(), NamedColumnsParser::reinitMap(), NIImporter_DlrNavteq::NamesHandler::report(), NIImporter_DlrNavteq::TimeRestrictionsHandler::report(), NIImporter_DlrNavteq::ProhibitionHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), Option_IntVector::set(), Option_StringVector::set(), GNEAttributeCarrier::setACParameters(), GNEVehicleTypeDialog::VTypeAttributes::VTypeAttributeRow::updateValue(), NIImporter_OpenStreetMap::usableType(), and NWWriter_DlrNavteq::writeLinksUnsplitted().
|
private |
splits the first string at all occurrences of the second. If the third parameter is true split at all chars given in the second
Definition at line 141 of file StringTokenizer.cpp.
References myLengths, and myStarts.
Referenced by StringTokenizer(), and StringTokenizer().
|
private |
splits the first string at all occurrences of whitechars
Definition at line 168 of file StringTokenizer.cpp.
References myLengths, myStarts, and SPACE.
Referenced by StringTokenizer(), and StringTokenizer().
void StringTokenizer::reinit | ( | ) |
reinitialises the internal iterator
Definition at line 88 of file StringTokenizer.cpp.
References myPos.
Referenced by getVector().
int StringTokenizer::size | ( | ) | const |
returns the number of existing substrings
Definition at line 136 of file StringTokenizer.cpp.
References myStarts.
Referenced by RORouteHandler::addRide(), SUMOSAXAttributes::fromString(), NamedColumnsParser::get(), NIImporter_DlrNavteq::EdgesHandler::getColumn(), MSBaseVehicle::getPrefixedParameter(), getVector(), NamedColumnsParser::hasFullDefinition(), NamedColumnsParser::know(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), SUMOVehicleParserHelper::parseAngleTimesMap(), GeomConvHelper::parseBoundaryReporting(), GeomConvHelper::parseShapeReporting(), ODMatrix::parseTimeLine(), ODMatrix::readO(), NIImporter_DlrNavteq::NamesHandler::report(), NIImporter_DlrNavteq::ProhibitionHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NIImporter_OpenStreetMap::usableType().
|
private |
the list of substring lengths
Definition at line 150 of file StringTokenizer.h.
Referenced by front(), get(), next(), prepare(), and prepareWhitechar().
|
private |
the current position in the list of substrings
Definition at line 144 of file StringTokenizer.h.
|
private |
the list of substring starts
Definition at line 147 of file StringTokenizer.h.
Referenced by front(), get(), hasNext(), next(), prepare(), prepareWhitechar(), and size().
|
private |
the string to split
Definition at line 141 of file StringTokenizer.h.
|
static |
identifier for splitting the given string at all newline characters
Definition at line 63 of file StringTokenizer.h.
Referenced by GUIPointOfInterest::drawInnerPOI(), GUIBaseVehicle::drawOnPos(), and StringTokenizer().
|
static |
the ascii index of the highest whitespace character
Definition at line 69 of file StringTokenizer.h.
Referenced by prepareWhitechar().
|
static |
the ascii index of the tab character
Definition at line 72 of file StringTokenizer.h.
Referenced by NIImporter_DlrNavteq::NamesHandler::report(), NIImporter_DlrNavteq::ProhibitionHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and StringTokenizer().
|
static |
identifier for splitting the given string at all whitespace characters
Definition at line 66 of file StringTokenizer.h.
Referenced by ROJTRTurnDefLoader::myStartElement(), ODMatrix::readO(), ODMatrix::readTime(), ODMatrix::readV(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::TimeRestrictionsHandler::report(), and StringTokenizer().