43 #ifdef CHECK_MEMORY_LEAKS
45 #endif // CHECK_MEMORY_LEAKS
65 "' has to be given in the definition of flow '" +
id +
"'.");
73 "' are allowed in flow '" +
id +
"'.");
80 "' is needed in flow '" +
id +
"'.");
90 #ifdef HAVE_SUBSECOND_TIMESTEPS
101 throw ProcessError(
"Invalid repetition rate in the definition of flow '" +
id +
"'.");
103 if (ok && vph != 0) {
112 if (ok && ret->
depart < 0) {
114 throw ProcessError(
"Negative begin time in the definition of flow '" +
id +
"'.");
123 if (ok && end <= ret->depart) {
125 throw ProcessError(
"Flow '" +
id +
"' ends before or at its begin time.");
132 throw ProcessError(
"Negative repetition number in the definition of flow '" +
id +
"'.");
140 throw ProcessError(
"Invalid repetition rate in the definition of flow '" +
id +
"'.");
158 bool skipID,
bool skipDepart) {
160 std::string id, errorMsg;
167 "' have to be given both in the definition of '" +
id +
"'.");
179 if (helper ==
"triggered") {
184 if (ok && ret->
depart < 0) {
185 errorMsg =
"Negative departure time in the definition of '" +
id +
"'.";
192 WRITE_WARNING(
"period and repno are deprecated in vehicle '" +
id +
"', use flows instead.");
194 #ifdef HAVE_SUBSECOND_TIMESTEPS
399 CFAttrMap::const_iterator cf_it;
400 for (cf_it = allowedAttrs.begin(); cf_it != allowedAttrs.end(); cf_it++) {
401 if (cf_it->first == element) {
405 if (cf_it == allowedAttrs.end()) {
416 for (std::set<SumoXMLAttr>::const_iterator it = cf_it->second.begin(); it != cf_it->second.end(); it++) {
431 std::set<SumoXMLAttr> krausParams;
439 std::set<SumoXMLAttr> smartSKParams;
451 std::set<SumoXMLAttr> daniel1Params;
463 std::set<SumoXMLAttr> pwagParams;
472 std::set<SumoXMLAttr> idmParams;
480 std::set<SumoXMLAttr> idmmParams;
489 std::set<SumoXMLAttr> bkernerParams;
497 std::set<SumoXMLAttr> wiedemannParams;
510 const std::string&
id) {