/****************************************************************************/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 MSJunctionLogic.h14/// @author Christian Roessel15/// @author Daniel Krajzewicz16/// @author Sascha Krieg17/// @date Wed, 12 Dez 200118///19// kinds of logic-implementations.20/****************************************************************************/21#pragma once22#include <config.h>2324#include <string>25#include <utils/common/StdDefs.h>26#include "MSLogicJunction.h"272829// ===========================================================================30// class definitions31// ===========================================================================32/**33* @class MSJunctionLogic34*/35class MSJunctionLogic {36public:37/// Destructor.38virtual ~MSJunctionLogic();3940/// @brief Returns the response for the given link41virtual const MSLogicJunction::LinkBits& getResponseFor(int linkIndex) const {42UNUSED_PARAMETER(linkIndex);43return myDummyFoes;44}4546/// @brief Returns the foes for the given link47virtual const MSLogicJunction::LinkBits& getFoesFor(int linkIndex) const {48UNUSED_PARAMETER(linkIndex);49return myDummyFoes;50}5152virtual bool getIsCont(int linkIndex) const {53UNUSED_PARAMETER(linkIndex);54return false;55}5657int getLogicSize() const {58return myNLinks;59}6061virtual bool hasFoes() const {62return false;63}6465protected:66/// Constructor.67MSJunctionLogic(int nLinks);6869/// The logic's number of links.70int myNLinks;7172/// @brief A dummy foe container73static MSLogicJunction::LinkBits myDummyFoes;7475private:76/// Copy constructor.77MSJunctionLogic(const MSJunctionLogic&) = delete;7879/// Assignment operator.80MSJunctionLogic& operator=(const MSJunctionLogic&) = delete;8182};838485