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);
90 virtual std::string getString(std::string_view property);
95 virtual double getProperty(std::string_view property);
98 void addTarget(std::string_view target) { addSourceTarget(target); }
101 void setFilterType(std::int32_t type);
105 void setFilterOperations(std::shared_ptr<FilterOperations> filterOps);
125 std::string_view filtName = EMPTY_STRING);
140 void addDeliveryEndpoint(std::string_view endpoint);
143 void removeDeliveryEndpoint(std::string_view endpoint);
145 virtual void setString(std::string_view property, std::string_view val)
override;
148 friend class FilterFederateManager;
172 std::string_view name = EMPTY_STRING);
181 HELICS_CXX_EXPORT std::unique_ptr<Filter>
191 HELICS_CXX_EXPORT std::unique_ptr<Filter>
204 std::string_view delivery,
205 std::string_view name = EMPTY_STRING);
219 std::string_view delivery,
220 std::string_view name = EMPTY_STRING);
230 HELICS_CXX_EXPORT std::unique_ptr<CloningFilter>
233 std::string_view delivery,
234 std::string_view name = EMPTY_STRING);
244 HELICS_CXX_EXPORT std::unique_ptr<CloningFilter>
247 std::string_view delivery,
248 std::string_view name = EMPTY_STRING);
Definition: Filters.hpp:111
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
void addTarget(std::string_view target)
Definition: Filters.hpp:98
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:880
base helics enumerations for C and C++ API's
@ HELICS_FILTER_TYPE_FIREWALL
Definition: helics_enums.h:408
@ HELICS_FILTER_TYPE_RANDOM_DELAY
Definition: helics_enums.h:397
@ HELICS_FILTER_TYPE_REROUTE
Definition: helics_enums.h:402
@ HELICS_FILTER_TYPE_CLONE
Definition: helics_enums.h:405
@ HELICS_FILTER_TYPE_CUSTOM
Definition: helics_enums.h:393
@ HELICS_FILTER_TYPE_RANDOM_DROP
Definition: helics_enums.h:399
@ HELICS_FILTER_TYPE_DELAY
Definition: helics_enums.h:395
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:224
void addOperations(Filter *filt, FilterTypes type, Core *)
Definition: Filters.cpp:54
CloningFilter & make_cloning_filter(FilterTypes type, Federate *mFed, std::string_view delivery, std::string_view name)
Definition: Filters.cpp:274
FilterTypes
Definition: Filters.hpp:21
FilterTypes filterTypeFromString(std::string_view filterType) noexcept
Definition: Filters.cpp:34
InterfaceVisibility
Definition: helicsTypes.hpp:40