 |
helics
3.3.0
|
8 #include "BasicHandleInfo.hpp"
14 #include <string_view>
15 #include <unordered_map>
16 #include <unordered_set>
34 std::deque<BasicHandleInfo> handles;
35 std::unordered_map<std::string_view, InterfaceHandle> publications;
38 std::unordered_map<std::string_view, InterfaceHandle> endpoints;
39 std::unordered_map<std::string_view, InterfaceHandle> inputs;
40 std::unordered_map<std::string_view, InterfaceHandle> filters;
41 std::unordered_map<std::string_view, InterfaceHandle> translators;
42 std::unordered_map<std::uint64_t, int32_t> unique_ids;
43 std::unordered_map<std::string_view, std::vector<std::string_view>> aliases;
45 std::unordered_set<std::string> alias_names;
53 std::string_view type,
54 std::string_view units);
60 std::string_view type,
61 std::string_view units);
81 void setHandleOption(
InterfaceHandle handle, int32_t option, int32_t val);
118 const BasicHandleInfo& operator[](
size_t index)
const {
return handles[index]; }
123 void addAlias(std::string_view interfaceName, std::string_view alias);
124 auto begin() {
return handles.begin(); }
125 auto end() {
return handles.end(); }
126 auto begin()
const {
return handles.begin(); }
127 auto end()
const {
return handles.end(); }
128 auto size()
const {
return handles.size(); }
134 void addPublicationAlias(std::string_view interfaceName, std::string_view alias);
136 void addInputAlias(std::string_view interfaceName, std::string_view alias);
138 void addEndpointAlias(std::string_view interfaceName, std::string_view alias);
140 void addFilterAlias(std::string_view interfaceName, std::string_view alias);
145 bool addAliasName(std::string_view interfaceName, std::string_view alias);
@ HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE
Definition: helics_enums.h:340
BasicHandleInfo * findHandle(GlobalHandle id)
Definition: HandleManager.cpp:129
BasicHandleInfo & addHandle(GlobalFederateId fed_id, InterfaceType what, std::string_view key, std::string_view type, std::string_view units)
Definition: HandleManager.cpp:12
@ optional_flag
flag indicating that a connection is optional and may not be matched
Definition: flagOperations.hpp:53
const BasicHandleInfo * getFilter(std::string_view name) const
Definition: HandleManager.cpp:305
@ HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE
Definition: helics_enums.h:342
InterfaceType
Definition: CoreTypes.hpp:99
Definition: LocalFederateId.hpp:65
Definition: GlobalFederateId.hpp:72
@ FILTER
handle to a filter
@ only_transmit_on_change_flag
indicator that the interface should only transmit on change
Definition: flagOperations.hpp:62
@ INPUT
handle to a input interface
@ HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL
Definition: helics_enums.h:326
@ only_update_on_change_flag
flag indicating that the values should only be updated on change
Definition: flagOperations.hpp:49
Definition: HandleManager.hpp:25
void setActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:130
void removeHandle(GlobalHandle handle)
Definition: HandleManager.cpp:46
Definition: BasicHandleInfo.hpp:20
@ HELICS_HANDLE_OPTION_CONNECTION_REQUIRED
Definition: helics_enums.h:323
BasicHandleInfo * getHandleInfo(int32_t index)
Definition: HandleManager.cpp:93
@ TRANSLATOR
handle to a translator object
BasicHandleInfo * getEndpoint(std::string_view name)
Definition: HandleManager.cpp:203
constexpr BaseType baseValue() const
Definition: LocalFederateId.hpp:73
@ single_connection_flag
flag indicating that the interface accepts only a single connection
Definition: flagOperations.hpp:47
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
void clearActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:153
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:138
Definition: LocalFederateId.hpp:22
@ HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY
Definition: helics_enums.h:328
@ required_flag
flag indicating that an action or match is required
Definition: flagOperations.hpp:45
Definition: GlobalFederateId.hpp:144
BasicHandleInfo * getPublication(std::string_view name)
Definition: HandleManager.cpp:247
void addAlias(std::string_view interfaceName, std::string_view alias)
Definition: HandleManager.cpp:369
void addHandleAtIndex(const BasicHandleInfo &otherHandle, int32_t index)
Definition: HandleManager.cpp:78
@ PUBLICATION
handle to output interface
bool isValidIndex(sizeType testSize, const SizedDataType &vec)
Definition: core-data.hpp:171