Eclipse SUMO - Simulation of Urban MObility
NIVissimSingleTypeParser_Kantensperrung.cpp
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3// Copyright (C) 2001-2022 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
19//
20/****************************************************************************/
21#include <config.h>
22
23#include <iostream>
28
29
30// ===========================================================================
31// method definitions
32// ===========================================================================
34 : NIImporter_Vissim::VissimSingleTypeParser(parent) {}
35
36
38
39
40bool
42 std::string tag;
43 from >> tag;
44 //
45 std::string id;
46 from >> id;
47 //
48 from >> tag;
49 from >> tag;
50 int from_node;
51 from >> from_node;
52 //
53 from >> tag;
54 from >> tag;
55 int to_node;
56 from >> to_node;
57 //
58 from >> tag;
59 from >> tag;
60 std::vector<int> edges;
61 while (tag != "DATAEND") {
62 tag = readEndSecure(from);
63 if (tag != "DATAEND") {
64 edges.push_back(StringUtils::toInt(tag));
65 }
66 }
67 NIVissimClosures::dictionary(id, from_node, to_node, edges);
68 return true;
69}
70
71
72/****************************************************************************/
std::string readEndSecure(std::istream &from, const std::string &excl="")
as myRead, but returns "DATAEND" when the current field has ended
Importer for networks stored in Vissim format.
static bool dictionary(const std::string &id, int from_node, int to_node, std::vector< int > &overEdges)
NIVissimSingleTypeParser_Kantensperrung(NIImporter_Vissim &parent)
Constructor.
bool parse(std::istream &from)
Parses the data type from the given stream.
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...