9 #include "../core/Core.hpp"
10 #include "Federate.hpp"
17 class FilterOperations;
33 #define EMPTY_STRING std::string_view()
42 bool disableAssign =
false;
44 std::shared_ptr<FilterOperations>
50 explicit Filter(
Federate* ffed, std::string_view filtName = EMPTY_STRING);
58 explicit Filter(
Core* core, std::string_view filtName = EMPTY_STRING);
71 void setOperator(std::shared_ptr<FilterOperator> filterOp);
73 virtual const std::string&
getDisplayName()
const override {
return getName(); }
79 virtual void set(std::string_view property,
double val);
85 virtual void setString(std::string_view property, std::string_view val);
87 void addTarget(std::string_view target) { addSourceTarget(target); }
90 void setFilterType(std::int32_t type);
94 void setFilterOperations(std::shared_ptr<FilterOperations> filterOps);
114 std::string_view filtName = EMPTY_STRING);
129 void addDeliveryEndpoint(std::string_view endpoint);
132 void removeDeliveryEndpoint(std::string_view endpoint);
134 virtual void setString(std::string_view property, std::string_view val)
override;
137 friend class FilterFederateManager;
161 std::string_view name = EMPTY_STRING);
170 HELICS_CXX_EXPORT std::unique_ptr<Filter>
180 HELICS_CXX_EXPORT std::unique_ptr<Filter>
193 std::string_view delivery,
194 std::string_view name = EMPTY_STRING);
208 std::string_view delivery,
209 std::string_view name = EMPTY_STRING);
219 HELICS_CXX_EXPORT std::unique_ptr<CloningFilter>
222 std::string_view delivery,
223 std::string_view name = EMPTY_STRING);
233 HELICS_CXX_EXPORT std::unique_ptr<CloningFilter>
236 std::string_view delivery,
237 std::string_view name = EMPTY_STRING);
Definition: Filters.hpp:100
CloningFilter & operator=(CloningFilter &&filt)=default
CloningFilter(const CloningFilter &filt)=default
CloningFilter(CloningFilter &&filt)=default
CloningFilter & operator=(const CloningFilter &filt)=default
Definition: application_api/CoreApp.hpp:25
Definition: core/Core.hpp:41
Definition: application_api/Federate.hpp:48
Definition: Filters.hpp:39
Filter(const Filter &filt)=default
Filter & operator=(const Filter &filt)=default
virtual ~Filter()=default
virtual const std::string & getDisplayName() const override
Definition: Filters.hpp:73
bool isCloningFilter() const
Definition: Filters.hpp:69
Definition: LocalFederateId.hpp:65
Definition: application_api/Federate.hpp:875
base helics enumerations for C and C++ API's
@ HELICS_FILTER_TYPE_FIREWALL
Definition: helics_enums.h:406
@ HELICS_FILTER_TYPE_RANDOM_DELAY
Definition: helics_enums.h:395
@ HELICS_FILTER_TYPE_REROUTE
Definition: helics_enums.h:400
@ HELICS_FILTER_TYPE_CLONE
Definition: helics_enums.h:403
@ HELICS_FILTER_TYPE_CUSTOM
Definition: helics_enums.h:391
@ HELICS_FILTER_TYPE_RANDOM_DROP
Definition: helics_enums.h:397
@ HELICS_FILTER_TYPE_DELAY
Definition: helics_enums.h:393
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
Filter & make_filter(FilterTypes type, Federate *mFed, std::string_view name)
Definition: Filters.cpp:206
void addOperations(Filter *filt, FilterTypes type, Core *)
Definition: Filters.cpp:52
CloningFilter & make_cloning_filter(FilterTypes type, Federate *mFed, std::string_view delivery, std::string_view name)
Definition: Filters.cpp:256
FilterTypes
Definition: Filters.hpp:21
FilterTypes filterTypeFromString(std::string_view filterType) noexcept
Definition: Filters.cpp:32
InterfaceVisibility
Definition: helicsTypes.hpp:40