| helics 3.6.1

application_api/CombinationFederate.hpp
1 /*
2 Copyright (c) 2017-2025,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-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
16 namespace helics {
18 class HELICS_CXX_EXPORT CombinationFederate: public ValueFederate, public MessageFederate {
19 public:
21 CombinationFederate();
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
64 CombinationFederate(CombinationFederate&& fed) noexcept;
66 virtual ~CombinationFederate();
68 CombinationFederate& operator=(CombinationFederate&& fed) noexcept;
70 CombinationFederate(const CombinationFederate& fed) = delete;
72 CombinationFederate& operator=(const CombinationFederate& fed) = delete;
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
helics::CombinationFederate
Definition: application_api/CombinationFederate.hpp:18
helics::CombinationFederate::CombinationFederate
CombinationFederate()
helics::CombinationFederate::CombinationFederate
CombinationFederate(CombinationFederate &&fed) noexcept
helics::CombinationFederate::operator=
CombinationFederate & operator=(const CombinationFederate &fed)=delete
helics::CombinationFederate::CombinationFederate
CombinationFederate(const CombinationFederate &fed)=delete
helics::CombinationFederate::~CombinationFederate
virtual ~CombinationFederate()
helics::CombinationFederate::operator=
CombinationFederate & operator=(CombinationFederate &&fed) noexcept
helics::CoreApp
Definition: application_api/CoreApp.hpp:25
helics::FederateInfo
Definition: FederateInfo.hpp:28
helics::MessageFederate
Definition: application_api/MessageFederate.hpp:24
helics::ValueFederate
Definition: application_api/ValueFederate.hpp:28
helicsTypes.hpp
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
helics::iteration_time
Definition: helicsTime.hpp:43