/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file NBCont.h14/// @author Daniel Krajzewicz15/// @author Sascha Krieg16/// @date Mon, 17 Dec 200117///18// Some typedef definitions fir containers19/****************************************************************************/20#pragma once21#include <config.h>22#include <vector>23#include <set>24#include <utils/common/Named.h>2526#include <config.h>272829// ===========================================================================30// class declarations31// ===========================================================================32class NBEdge;33class NBNode;34class NBRouterEdge;353637// ===========================================================================38// container definitions39// ===========================================================================40/// @brief container for (sorted) edges41typedef std::vector<NBEdge*> EdgeVector;42typedef std::vector<NBRouterEdge*> RouterEdgeVector;43typedef std::vector<const NBRouterEdge*> ConstRouterEdgeVector;4445typedef std::vector<std::pair<const NBRouterEdge*, const NBRouterEdge*> > ConstRouterEdgePairVector;46typedef std::vector<std::pair<const NBRouterEdge*, const NBRouterEdge*> > NBViaSuccessor;4748/// @brief container for unique edges49typedef std::set<NBEdge*> EdgeSet;5051typedef std::set<NBNode*, ComparatorIdLess> NodeSet;5253/// @brief container for (sorted) lanes. The lanes are sorted from rightmost (id=0) to leftmost (id=nolanes-1)54typedef std::vector<int> LaneVector;5556/// @brief keepClear status of connections57enum KeepClear {58KEEPCLEAR_FALSE = 0,59KEEPCLEAR_TRUE = 1,60KEEPCLEAR_UNSPECIFIED = -161};626364