Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSJunctionLogic.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2024 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/****************************************************************************/
20// kinds of logic-implementations.
21/****************************************************************************/
22#pragma once
23#include <config.h>
24
25#include <string>
27#include "MSLogicJunction.h"
28
29
30// ===========================================================================
31// class definitions
32// ===========================================================================
37public:
39 virtual ~MSJunctionLogic();
40
42 virtual const MSLogicJunction::LinkBits& getResponseFor(int linkIndex) const {
43 UNUSED_PARAMETER(linkIndex);
44 return myDummyFoes;
45 }
46
48 virtual const MSLogicJunction::LinkBits& getFoesFor(int linkIndex) const {
49 UNUSED_PARAMETER(linkIndex);
50 return myDummyFoes;
51 }
52
53 virtual bool getIsCont(int linkIndex) const {
54 UNUSED_PARAMETER(linkIndex);
55 return false;
56 }
57
58 int getLogicSize() const {
59 return myNLinks;
60 }
61
62 virtual bool hasFoes() const {
63 return false;
64 }
65
66protected:
68 MSJunctionLogic(int nLinks);
69
72
75
76private:
79
82
83};
#define UNUSED_PARAMETER(x)
Definition StdDefs.h:30
virtual bool getIsCont(int linkIndex) const
virtual bool hasFoes() const
virtual const MSLogicJunction::LinkBits & getResponseFor(int linkIndex) const
Returns the response for the given link.
MSJunctionLogic & operator=(const MSJunctionLogic &)=delete
Assignment operator.
virtual ~MSJunctionLogic()
Destructor.
MSJunctionLogic(const MSJunctionLogic &)=delete
Copy constructor.
static MSLogicJunction::LinkBits myDummyFoes
A dummy foe container.
int getLogicSize() const
int myNLinks
The logic's number of links.
virtual const MSLogicJunction::LinkBits & getFoesFor(int linkIndex) const
Returns the foes for the given link.
std::bitset< SUMO_MAX_CONNECTIONS > LinkBits
Container for link response and foes.