helics 3.7.0
Loading...
Searching...
No Matches
application_api/CombinationFederate.hpp
1/*
2Copyright (c) 2017-2026,
3Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Energy
4Innovation LLC. See the top-level NOTICE for additional details. All rights reserved.
5SPDX-License-Identifier: BSD-3-Clause
6*/
7#pragma once
8
9#include "MessageFederate.hpp"
10#include "ValueFederate.hpp"
11#include "helicsTypes.hpp"
12
13#include <memory>
14#include <string>
15
16namespace helics {
18class HELICS_CXX_EXPORT CombinationFederate: public ValueFederate, public MessageFederate {
19 public:
22
28 explicit CombinationFederate(std::string_view fedName, const FederateInfo& fedInfo);
29
36 CombinationFederate(std::string_view fedName,
37 const std::shared_ptr<Core>& core,
38 const FederateInfo& fedInfo = FederateInfo{});
39
46 CombinationFederate(std::string_view fedName,
47 CoreApp& core,
48 const FederateInfo& fedInfo = FederateInfo{});
49
55 CombinationFederate(std::string_view fedName, const std::string& configString);
56
61 explicit CombinationFederate(const std::string& configString);
62
73 virtual void setFlagOption(int flagIndex, bool flagValue = true) override;
74 virtual void disconnect() override;
75
76 protected:
77 virtual void updateTime(Time newTime, Time oldTime) override;
78 virtual void startupToInitializeStateTransition() override;
79 virtual void initializeToExecuteStateTransition(iteration_time result) override;
80 virtual std::string localQuery(std::string_view queryStr) const override;
81
82 public:
83 virtual void registerInterfaces(const std::string& configString) override;
84};
85} // namespace helics
Definition application_api/CombinationFederate.hpp:18
CombinationFederate(CombinationFederate &&fed) noexcept
CombinationFederate & operator=(const CombinationFederate &fed)=delete
CombinationFederate(const CombinationFederate &fed)=delete
CombinationFederate & operator=(CombinationFederate &&fed) noexcept
Definition application_api/CoreApp.hpp:25
Definition FederateInfo.hpp:28
Definition application_api/MessageFederate.hpp:24
Definition application_api/ValueFederate.hpp:28
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition AsyncFedCallInfo.hpp:14
TimeRepresentation< count_time< 9 > > Time
Definition helicsTime.hpp:27
Definition helicsTime.hpp:46