7#ifndef HELICS_CPP98_VALUE_FEDERATE_HPP_
8#define HELICS_CPP98_VALUE_FEDERATE_HPP_
11#include "Federate.hpp"
13#include "Publication.hpp"
14#include "helics/helics.h"
38 std::vector<HelicsInput> ipts;
39 std::vector<HelicsPublication> pubs;
61 fed = helicsCreateValueFederateFromConfig(configString.c_str(),
hThrowOnError());
79#ifdef HELICS_HAS_RVALUE_REFS
83 ipts(std::move(fedObj.ipts)),
84 pubs(std::move(fedObj.pubs))
91 ipts = std::move(fedObj.ipts);
92 pubs = std::move(fedObj.pubs);
110 const std::string& type,
111 const std::string& units =
"")
128 const std::string& units =
"")
144 const std::string& type,
145 const std::string& units =
"")
162 const std::string& units =
"")
182 const std::string& units =
"")
184 std::string indexed_name = key +
'_' + toStr(index1);
202 const std::string& units = std::string())
204 std::string indexed_name = key +
'_' + toStr(index1) +
'_' + toStr(index2);
220 const std::string& units =
"")
239 const std::string& units = std::string())
281 const std::string& units =
"")
283 std::string indexed_name = name +
'_' + toStr(index1);
297 const std::string& units =
"")
299 std::string indexed_name = name +
'_' + toStr(index1) +
'_' + toStr(index2);
311 const std::string& units =
"")
326 const std::string& units =
"")
339 const std::string& type,
340 const std::string& units =
"")
372 const std::string& type,
373 const std::string& units =
"")
390 const std::string& units =
"")
410 const std::string& units =
"")
412 std::string indexed_name = key +
'_' + toStr(index1);
430 const std::string& units = std::string())
432 std::string indexed_name = key +
'_' + toStr(index1) +
'_' + toStr(index2);
462 std::vector<HelicsInput>
queryUpdates() {
return std::vector<HelicsInput>(); }
475 std::string toStr(T num)
477 std::ostringstream ss;
HelicsPublication helicsFederateRegisterPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:168
HelicsPublication helicsFederateRegisterTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:148
void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition ValueFederateExport.cpp:346
HelicsInput helicsFederateGetInput(HelicsFederate fed, const char *key, HelicsError *err)
Definition ValueFederateExport.cpp:430
int helicsFederateGetPublicationCount(HelicsFederate fed)
Definition ValueFederateExport.cpp:1670
HelicsPublication helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:218
HelicsInput helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:296
HelicsPublication helicsFederateGetPublicationByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition ValueFederateExport.cpp:405
HelicsInput helicsFederateRegisterGlobalInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:316
HelicsPublication helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:198
void helicsFederateClearUpdates(HelicsFederate fed)
Definition ValueFederateExport.cpp:505
void helicsFederatePublishJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition ValueFederateExport.cpp:363
HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char *key, HelicsError *err)
Definition ValueFederateExport.cpp:383
HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition ValueFederateExport.cpp:453
HelicsInput helicsFederateRegisterTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:246
HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char *key, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:127
HelicsInput helicsFederateGetInputByTarget(HelicsFederate fed, const char *target, HelicsError *err)
Definition ValueFederateExport.cpp:482
int helicsFederateGetInputCount(HelicsFederate fed)
Definition ValueFederateExport.cpp:1680
void * HelicsInput
Definition api-data.h:26
void * HelicsPublication
Definition api-data.h:31
Definition cpp98/Federate.hpp:28
HELICS_NODISCARD HelicsFederateInfo getInfo()
Definition cpp98/Federate.hpp:163
Definition cpp98/Federate.hpp:229
HelicsFederate fed
underlying HelicsFederate object
Definition cpp98/Federate.hpp:913
Federate & operator=(const Federate &fedObj)
Copy assignment operator.
Definition cpp98/Federate.hpp:239
Federate() HELICS_NOTHROW
Default constructor.
Definition cpp98/Federate.hpp:232
Definition helicsExceptions.hpp:19
Definition Publication.hpp:20
Definition cpp98/ValueFederate.hpp:36
Input registerIndexedInput(const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string())
Definition cpp98/ValueFederate.hpp:426
Input registerSubscriptionIndexed(const std::string &name, int index1, int index2, const std::string &units="")
Definition cpp98/ValueFederate.hpp:323
void publishJSON(const std::string &json)
Definition cpp98/ValueFederate.hpp:467
std::vector< HelicsInput > queryUpdates()
Definition cpp98/ValueFederate.hpp:462
ValueFederate & operator=(const ValueFederate &fedObj)
Definition cpp98/ValueFederate.hpp:69
ValueFederate(const ValueFederate &vfed)
Definition cpp98/ValueFederate.hpp:67
Input registerIndexedSubscription(const std::string &name, int index1, const std::string &units="")
Definition cpp98/ValueFederate.hpp:279
void registerFromPublicationJSON(const std::string &json)
Definition cpp98/ValueFederate.hpp:247
ValueFederate(const std::string &fedName, FederateInfo &fedInfo)
Definition cpp98/ValueFederate.hpp:48
Input registerSubscriptionIndexed(const std::string &name, int index1, const std::string &units="")
Definition cpp98/ValueFederate.hpp:309
Publication registerGlobalPublication(const std::string &key, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:160
Publication registerIndexedPublication(const std::string &key, int index1, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:179
Input registerInput(const std::string &name, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:356
Publication registerPublicationIndexed(const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string())
Definition cpp98/ValueFederate.hpp:235
void clearUpdates()
Definition cpp98/ValueFederate.hpp:465
Publication registerGlobalPublication(const std::string &name, const std::string &type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:143
ValueFederate(const std::string &configString)
Definition cpp98/ValueFederate.hpp:59
HELICS_NODISCARD int getPublicationCount() const
Definition cpp98/ValueFederate.hpp:456
Input registerSubscription(const std::string &name, const std::string &units=std::string())
Definition cpp98/ValueFederate.hpp:265
HELICS_NODISCARD Input getInput(const std::string &name)
Definition cpp98/ValueFederate.hpp:437
Input registerInput(const std::string &name, const std::string &type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:338
Publication registerPublication(const std::string &name, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:126
HELICS_NODISCARD Input getInput(int index)
Definition cpp98/ValueFederate.hpp:449
Input registerGlobalInput(const std::string &key, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:388
Publication registerPublicationIndexed(const std::string &key, int index1, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:217
Input registerIndexedInput(const std::string &key, int index1, HelicsDataTypes type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:407
HELICS_NODISCARD Publication getPublication(const std::string &name)
Definition cpp98/ValueFederate.hpp:252
Publication registerPublication(const std::string &name, const std::string &type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:109
HELICS_NODISCARD Publication getPublication(int index)
Definition cpp98/ValueFederate.hpp:259
HELICS_NODISCARD int getInputCount() const
Definition cpp98/ValueFederate.hpp:454
ValueFederate() HELICS_NOTHROW
Definition cpp98/ValueFederate.hpp:98
Input registerIndexedSubscription(const std::string &name, int index1, int index2, const std::string &units="")
Definition cpp98/ValueFederate.hpp:294
Input registerGlobalInput(const std::string &name, const std::string &type, const std::string &units="")
Definition cpp98/ValueFederate.hpp:371
HELICS_NODISCARD Input getInputByTarget(const std::string &target)
Definition cpp98/ValueFederate.hpp:443
Publication registerIndexedPublication(const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string())
Definition cpp98/ValueFederate.hpp:198
Definition helicsExceptions.hpp:38
@ HELICS_ERROR_REGISTRATION_FAILURE
Definition helics_enums.h:262
HelicsDataTypes
Definition helics_enums.h:67
@ HELICS_DATA_TYPE_INT
Definition helics_enums.h:74
@ HELICS_DATA_TYPE_DOUBLE
Definition helics_enums.h:72
@ HELICS_DATA_TYPE_STRING
Definition helics_enums.h:70
@ HELICS_DATA_TYPE_TIME
Definition helics_enums.h:86
@ HELICS_DATA_TYPE_RAW
Definition helics_enums.h:90
@ HELICS_DATA_TYPE_COMPLEX
Definition helics_enums.h:76
@ HELICS_DATA_TYPE_VECTOR
Definition helics_enums.h:78
@ HELICS_DATA_TYPE_BOOLEAN
Definition helics_enums.h:84
Definition cpp98/Broker.hpp:18
PubSubTypes
Definition cpp98/ValueFederate.hpp:24