 |
helics
3.0.1
|
8 #include "BasicHandleInfo.hpp"
14 #include <string_view>
15 #include <unordered_map>
31 std::deque<BasicHandleInfo> handles;
32 std::unordered_map<std::string_view, InterfaceHandle>
34 std::unordered_map<std::string_view, InterfaceHandle>
36 std::unordered_map<std::string_view, InterfaceHandle> inputs;
37 std::unordered_map<std::string_view, InterfaceHandle> filters;
38 std::unordered_map<std::uint64_t, int32_t> unique_ids;
45 const std::string& key,
46 const std::string& type,
47 const std::string& units);
52 const std::string& key,
53 const std::string& type,
54 const std::string& units);
74 void setHandleOption(
InterfaceHandle handle, int32_t option, int32_t val);
104 const BasicHandleInfo& operator[](
size_t index)
const {
return handles[index]; }
105 auto begin() {
return handles.begin(); }
106 auto end() {
return handles.end(); }
107 auto begin()
const {
return handles.begin(); }
108 auto end()
const {
return handles.end(); }
109 auto size()
const {
return handles.size(); }
@ HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE
Definition: helics_enums.h:323
BasicHandleInfo * findHandle(GlobalHandle id)
Definition: HandleManager.cpp:130
const BasicHandleInfo * getFilter(std::string_view name) const
Definition: HandleManager.cpp:306
@ HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE
Definition: helics_enums.h:325
InterfaceType
Definition: CoreTypes.hpp:96
Definition: LocalFederateId.hpp:65
BasicHandleInfo & addHandle(GlobalFederateId fed_id, InterfaceType what, const std::string &key, const std::string &type, const std::string &units)
Definition: HandleManager.cpp:13
@ extra_flag2
extra flag
Definition: flagOperations.hpp:27
Definition: GlobalFederateId.hpp:68
@ FILTER
handle to a filter
@ INPUT
handle to a input interface
@ HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL
Definition: helics_enums.h:310
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:85
Definition: HandleManager.hpp:22
void clearActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:100
@ extra_flag1
extra flag
Definition: flagOperations.hpp:23
void removeHandle(GlobalHandle handle)
Definition: HandleManager.cpp:47
Definition: BasicHandleInfo.hpp:30
@ HELICS_HANDLE_OPTION_CONNECTION_REQUIRED
Definition: helics_enums.h:307
void setActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:77
BasicHandleInfo * getHandleInfo(int32_t index)
Definition: HandleManager.cpp:94
BasicHandleInfo * getEndpoint(std::string_view name)
Definition: HandleManager.cpp:204
constexpr BaseType baseValue() const
Definition: LocalFederateId.hpp:73
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
@ ENDPOINT
handle to an endpoint
@ required_flag
flag indicating that an action or match is required
Definition: flagOperations.hpp:18
@ optional_flag
flag indicating that a connection is optional and may not be matched
Definition: flagOperations.hpp:24
@ extra_flag4
extra flag
Definition: flagOperations.hpp:32
Definition: LocalFederateId.hpp:22
@ HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY
Definition: helics_enums.h:312
Definition: GlobalFederateId.hpp:128
void addHandleAtIndex(const BasicHandleInfo &otherHandle, int32_t index)
Definition: HandleManager.cpp:79
@ PUBLICATION
handle to output interface
bool isValidIndex(sizeType testSize, const SizedDataType &vec)
Definition: core-data.hpp:132