helics  3.3.0
cpp98/Federate.hpp
1 /*
2 Copyright (c) 2017-2022,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #ifndef HELICS_CPP98_FEDERATE_HPP_
8 #define HELICS_CPP98_FEDERATE_HPP_
9 #pragma once
10 
11 #include "Filter.hpp"
12 #include "Translator.hpp"
13 #include "config.hpp"
14 #include "helics/helics.h"
15 #include "helicsExceptions.hpp"
16 
17 #include <complex>
18 #include <string>
19 #include <vector>
20 
21 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
22 # include <functional>
23 # include <utility>
24 #endif
25 
26 namespace helicscpp {
28 class FederateInfo {
29  public:
34  explicit FederateInfo(const std::string& coretype)
35  {
38  }
41  explicit FederateInfo(int coretype)
42  {
45  }
47  FederateInfo(const FederateInfo& fedInfo)
48  {
49  fi = helicsFederateClone(fedInfo.fi, hThrowOnError());
50  }
53  {
56  fi = fi_new;
57  return *this;
58  }
59 #ifdef HELICS_HAS_RVALUE_REFS
60 
61  FederateInfo(FederateInfo&& fedInfo) HELICS_NOTHROW
62  {
63  fi = fedInfo.fi;
64  fedInfo.fi = HELICS_NULL_POINTER;
65  }
67  FederateInfo& operator=(FederateInfo&& fedInfo) HELICS_NOTHROW
68  {
70  fi = fedInfo.fi;
71  fedInfo.fi = HELICS_NULL_POINTER;
72  return *this;
73  }
74 #endif
75 
77  {
79  }
80  void loadFromArgs(const std::string& argString)
81  {
82  helicsFederateInfoLoadFromString(fi, argString.c_str(), HELICS_NULL_POINTER);
83  }
86  void setCoreName(const std::string& corename)
87  {
88  helicsFederateInfoSetCoreName(fi, corename.c_str(), HELICS_NULL_POINTER);
89  }
91  void setSeparator(char sep)
92  {
93  helicsFederateInfoSetSeparator(fi, sep, HELICS_NULL_POINTER);
94  }
97  void setCoreInit(const std::string& coreInit)
98  {
99  helicsFederateInfoSetCoreInitString(fi, coreInit.c_str(), HELICS_NULL_POINTER);
100  }
102  void setBrokerInit(const std::string& brokerInit)
103  {
104  helicsFederateInfoSetBrokerInitString(fi, brokerInit.c_str(), HELICS_IGNORE_ERROR);
105  }
109  void setCoreType(const std::string& coretype)
110  {
112  }
116  void setCoreType(int coretype)
117  {
118  helicsFederateInfoSetCoreType(fi, coretype, HELICS_NULL_POINTER);
119  }
123  void setBroker(const std::string& broker)
124  {
125  helicsFederateInfoSetBroker(fi, broker.c_str(), HELICS_NULL_POINTER);
126  }
130  void setBrokerKey(const std::string& brokerkey)
131  {
132  helicsFederateInfoSetBrokerKey(fi, brokerkey.c_str(), HELICS_NULL_POINTER);
133  }
138  void setFlagOption(int flag, bool value = true)
139  {
141  flag,
142  value ? HELICS_TRUE : HELICS_FALSE,
143  HELICS_NULL_POINTER);
144  }
149  void setProperty(int timeProperty, HelicsTime timeValue)
150  {
151  helicsFederateInfoSetTimeProperty(fi, timeProperty, timeValue, HELICS_NULL_POINTER);
152  }
157  void setProperty(int integerProperty, int propertyValue)
158  {
160  integerProperty,
161  propertyValue,
162  HELICS_NULL_POINTER);
163  }
164  void sendCommand(const std::string& target, const std::string& cmd)
165  {
166  helicsFederateSendCommand(fi, target.c_str(), cmd.c_str(), HELICS_IGNORE_ERROR);
167  }
168 
169  const char* getCommand()
170  {
171  return helicsFederateGetCommand(fi, HELICS_IGNORE_ERROR);
172  }
173 
174  const char* getCommandSource()
175  {
176  return helicsFederateGetCommandSource(fi, HELICS_IGNORE_ERROR);
177  }
180  {
181  return fi;
182  }
183 
184  private:
185  HelicsFederateInfo fi;
186 };
187 
188 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
189 namespace details {
191  inline void helicCppQueryCallbackExecutor(const char* query,
192  int stringSize,
193  HelicsQueryBuffer buffer,
194  void* userData)
195  {
196  auto cback = reinterpret_cast<std::function<std::string(const std::string&)>*>(userData);
197  std::string val(query, stringSize);
198  std::string result = (*cback)(val);
199  helicsQueryBufferFill(buffer, result.c_str(), static_cast<int>(result.size()), nullptr);
200  }
201 
203  inline void
204  helicCppTimeUpdateCallbackExecutor(HelicsTime time, HelicsBool iterating, void* userData)
205  {
206  auto cback = reinterpret_cast<std::function<void(HelicsTime, bool)>*>(userData);
207  (*cback)(time, iterating == HELICS_TRUE);
208  }
209 
211  inline void helicCppStateChangeCallbackExecutor(HelicsFederateState newState,
212  HelicsFederateState oldState,
213  void* userData)
214  {
215  auto cback =
216  reinterpret_cast<std::function<void(HelicsFederateState, HelicsFederateState)>*>(
217  userData);
218  (*cback)(newState, oldState);
219  }
220 
222  inline void helicCppTimeRequestEntryCallbackExecutor(HelicsTime currentTime,
223  HelicsTime requestTime,
224  HelicsBool iterating,
225  void* userData)
226  {
227  auto cback = reinterpret_cast<std::function<void(HelicsTime, HelicsTime, bool)>*>(userData);
228  (*cback)(currentTime, requestTime, iterating == HELICS_TRUE);
229  }
231  inline void helicCppTimeRequestReturnCallbackExecutor(HelicsTime newTime,
232  HelicsBool iterating,
233  void* userData)
234  {
235  auto cback = reinterpret_cast<std::function<void(HelicsTime, bool)>*>(userData);
236  (*cback)(newTime, iterating == HELICS_TRUE);
237  }
238 } // namespace details
239 #endif
240 
242 typedef struct HelicsIterationTime {
246 
248 class Federate {
249  public:
251  Federate() HELICS_NOTHROW: fed(NULL), exec_async_iterate(false) {}
254  {
256  }
258  Federate& operator=(const Federate& fedObj)
259  {
262  return *this;
263  }
264 #ifdef HELICS_HAS_RVALUE_REFS
265 
266  Federate(Federate&& fedObj) HELICS_NOTHROW:
267  fed(fedObj.fed),
268  exec_async_iterate(fedObj.exec_async_iterate)
269  {
270  fedObj.fed = HELICS_NULL_POINTER;
271  }
273  Federate& operator=(Federate&& fedObj) HELICS_NOTHROW
274  {
275  exec_async_iterate = fedObj.exec_async_iterate;
276  fed = fedObj.fed;
277  fedObj.fed = HELICS_NULL_POINTER;
278  return *this;
279  }
280 #endif
281 
282  virtual ~Federate()
283  {
284  if (fed != HELICS_NULL_POINTER) {
286  }
287 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
288  freeCallbacks();
289 #endif
290  }
292  operator HelicsFederate() const
293  {
294  return fed;
295  }
298  {
299  return fed;
300  }
305  void setFlagOption(int flag, bool flagValue = true)
306  {
308  flag,
309  flagValue ? HELICS_TRUE : HELICS_FALSE,
310  hThrowOnError());
311  }
316  void setProperty(int tProperty, HelicsTime timeValue)
317  {
318  helicsFederateSetTimeProperty(fed, tProperty, timeValue, hThrowOnError());
319  }
324  void setProperty(int intProperty, int value)
325  {
326  helicsFederateSetIntegerProperty(fed, intProperty, value, hThrowOnError());
327  }
328 
332  bool getFlagOption(int flag) const
333  {
335  }
339  HelicsTime getTimeProperty(int tProperty) const
340  {
341  return helicsFederateGetTimeProperty(fed, tProperty, hThrowOnError());
342  }
346  int getIntegerProperty(int intProperty) const
347  {
348  return helicsFederateGetIntegerProperty(fed, intProperty, hThrowOnError());
349  }
357  void setSeparator(char sep)
358  {
359  helicsFederateSetSeparator(fed, sep, HELICS_NULL_POINTER);
360  }
366  void registerInterfaces(const std::string& configString)
367  {
368  helicsFederateRegisterInterfaces(fed, configString.c_str(), hThrowOnError());
369  }
372  {
373  return helicsFederateGetState(fed, HELICS_NULL_POINTER);
374  }
379  {
381  }
387  {
389  }
395  {
396  // returns int, 1 = true, 0 = false
397  return helicsFederateIsAsyncOperationCompleted(fed, HELICS_NULL_POINTER) > 0;
398  }
403  {
405  }
412  {
414  if (iterate == HELICS_ITERATION_REQUEST_NO_ITERATION) {
416  } else {
418  }
419  return out_iterate;
420  }
428  {
429  if (iterate == HELICS_ITERATION_REQUEST_NO_ITERATION) {
431  exec_async_iterate = false;
432  } else {
434  exec_async_iterate = true;
435  }
436  }
437 
443  {
445  if (exec_async_iterate) {
447  } else {
449  }
450  return out_iterate;
451  }
455  void finalize()
456  {
458  }
462  {
464  }
467  {
469  }
472  {
474  }
479  {
481  }
485  {
487  }
488 
493  {
494  return helicsFederateRequestTimeAdvance(fed, timeDelta, hThrowOnError());
495  }
501  {
502  HelicsIterationTime itTime;
504  fed, time, iterate, &(itTime.status), hThrowOnError());
505  return itTime;
506  }
512  {
514  }
515 
523  {
525  }
526 
530  {
532  }
533 
538  {
539  HelicsIterationTime itTime;
540  itTime.grantedTime =
542  return itTime;
543  }
544 
545  void processCommunication(HelicsTime period)
546  {
547  helicsFederateProcessCommunications(fed, period, HELICS_IGNORE_ERROR);
548  }
550  const char* getName() const
551  {
552  return helicsFederateGetName(fed);
553  }
554 
556  void protect()
557  {
558  helicsFederateProtect(helicsFederateGetName(fed), HELICS_IGNORE_ERROR);
559  }
560 
562  void unProtect()
563  {
564  helicsFederateUnProtect(helicsFederateGetName(fed), HELICS_IGNORE_ERROR);
565  }
566 
580  std::string query(const std::string& target,
581  const std::string& queryStr,
583  {
584  // returns HelicsQuery
585  HelicsQuery q = helicsCreateQuery(target.c_str(), queryStr.c_str());
586  if (mode != HELICS_SEQUENCING_MODE_FAST) {
587  helicsQuerySetOrdering(q, mode, HELICS_IGNORE_ERROR);
588  }
589  std::string result(helicsQueryExecute(q, fed, hThrowOnError()));
590  helicsQueryFree(q);
591  return result;
592  }
593 
607  std::string query(const std::string& queryStr,
609  {
610  // returns HelicsQuery
611  HelicsQuery q = helicsCreateQuery(HELICS_NULL_POINTER, queryStr.c_str());
612  if (mode != HELICS_SEQUENCING_MODE_FAST) {
613  helicsQuerySetOrdering(q, mode, HELICS_IGNORE_ERROR);
614  }
615  std::string result(helicsQueryExecute(q, fed, hThrowOnError()));
616  helicsQueryFree(q);
617  return result;
618  }
619 
620  void setQueryCallback(
621  void (*queryAnswer)(const char* query, int querySize, HelicsQueryBuffer, void* userdata),
622  void* userdata)
623 
624  {
625  helicsFederateSetQueryCallback(fed, queryAnswer, userdata, hThrowOnError());
626  }
627 
628  void setTimeRequestEntryCallback(void (*timeRequestEntry)(HelicsTime currentTime,
630  HelicsBool iterating,
631  void* userdata),
632  void* userdata)
633 
634  {
635  helicsFederateSetTimeRequestEntryCallback(fed, timeRequestEntry, userdata, hThrowOnError());
636  }
637 
638  void setTimeUpdateCallback(void (*timeUpdate)(HelicsTime time,
639  HelicsBool iterating,
640  void* userdata),
641  void* userdata)
642 
643  {
644  helicsFederateSetTimeUpdateCallback(fed, timeUpdate, userdata, hThrowOnError());
645  }
646 
647  void setStateChangeCallback(void (*stateChange)(HelicsFederateState newState,
648  HelicsFederateState oldState,
649  void* userdata),
650  void* userdata)
651 
652  {
653  helicsFederateSetStateChangeCallback(fed, stateChange, userdata, hThrowOnError());
654  }
655 
656  void setTimeRequestReturnCallback(void (*timeRequestReturn)(HelicsTime newTime,
657  HelicsBool iterating,
658  void* userdata),
659  void* userdata)
660 
661  {
663  timeRequestReturn,
664  userdata,
665  hThrowOnError());
666  }
667 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
668  void setQueryCallback(std::function<std::string(const std::string&)> callback)
669 
670  {
671  checkCallbackAllocation();
672  callbackBuffers[queryCallbackLocation] =
673  new std::function<std::string(const std::string&)>(std::move(callback));
675  details::helicCppQueryCallbackExecutor,
676  callbackBuffers[queryCallbackLocation],
677  hThrowOnError());
678  }
679 
680  void setTimeRequestEntryCallback(
681  std::function<void(HelicsTime currentTime, HelicsTime requestTime, bool iterating)>
682  callback)
683 
684  {
685  checkCallbackAllocation();
686  callbackBuffers[timeRequestEntryCallbackLocation] =
687  new std::function<void(HelicsTime, HelicsTime, bool)>(std::move(callback));
689  details::helicCppTimeRequestEntryCallbackExecutor,
690  callbackBuffers[timeRequestEntryCallbackLocation],
691  hThrowOnError());
692  }
693 
694  void setTimeUpdateCallback(std::function<void(HelicsTime time, bool iterating)> callback)
695 
696  {
697  checkCallbackAllocation();
698  callbackBuffers[timeUpdateCallbackLocation] =
699  new std::function<void(HelicsTime time, bool iterating)>(std::move(callback));
701  details::helicCppTimeUpdateCallbackExecutor,
702  callbackBuffers[timeUpdateCallbackLocation],
703  hThrowOnError());
704  }
705 
706  void setStateChangeCallback(
707  std::function<void(HelicsFederateState, HelicsFederateState)> callback)
708 
709  {
710  checkCallbackAllocation();
711  callbackBuffers[stateChangeCallbackLocation] =
712  new std::function<void(HelicsFederateState, HelicsFederateState)>(std::move(callback));
714  details::helicCppStateChangeCallbackExecutor,
715  callbackBuffers[stateChangeCallbackLocation],
716  hThrowOnError());
717  }
718 
719  void setTimeRequestReturnCallback(
720  std::function<void(HelicsTime newTime, bool iterating)> callback)
721 
722  {
723  checkCallbackAllocation();
724  callbackBuffers[timeRequestReturnCallbackLocation] =
725  new std::function<void(HelicsTime, bool)>(std::move(callback));
727  fed,
728  details::helicCppTimeRequestReturnCallbackExecutor,
729  callbackBuffers[timeRequestReturnCallbackLocation],
730  hThrowOnError());
731  }
732 #endif
733 
738  Filter registerFilter(HelicsFilterTypes type, const std::string& filterName = std::string())
739  {
740  return Filter(helicsFederateRegisterFilter(fed, type, filterName.c_str(), hThrowOnError()));
741  }
742 
749  CloningFilter registerCloningFilter(const std::string& deliveryEndpoint)
750  {
751  return CloningFilter(
752  helicsFederateRegisterCloningFilter(fed, deliveryEndpoint.c_str(), hThrowOnError()));
753  }
760  const std::string& filterName = std::string())
761  {
762  return Filter(
763  helicsFederateRegisterGlobalFilter(fed, type, filterName.c_str(), hThrowOnError()));
764  }
765 
772  CloningFilter registerGlobalCloningFilter(const std::string& deliveryEndpoint)
773  {
775  deliveryEndpoint.c_str(),
776  hThrowOnError()));
777  }
779  int getFilterCount() const
780  {
782  }
786  Filter getFilter(const std::string& filterName)
787  {
788  return Filter(helicsFederateGetFilter(fed, filterName.c_str(), hThrowOnError()));
789  }
793  Filter getFilter(int index)
794  {
796  }
797 
803  void setGlobal(const std::string& valueName, const std::string& value)
804  {
805  helicsFederateSetGlobal(fed, valueName.c_str(), value.c_str(), hThrowOnError());
806  }
807 
813  void setTag(const std::string& tag, const std::string& value)
814  {
815  helicsFederateSetTag(fed, tag.c_str(), value.c_str(), hThrowOnError());
816  }
823  const char* getTag(const std::string& tag) const
824  {
825  return helicsFederateGetTag(fed, tag.c_str(), hThrowOnError());
826  }
827 
832  void addDependency(const std::string& fedName)
833  {
834  helicsFederateAddDependency(fed, fedName.c_str(), hThrowOnError());
835  }
836 
841  void localError(int errorCode, const std::string& errorString)
842  {
843  helicsFederateLocalError(fed, errorCode, errorString.c_str(), hThrowOnError());
844  }
845 
850  void globalError(int errorCode, const std::string& errorString)
851  {
852  helicsFederateGlobalError(fed, errorCode, errorString.c_str(), hThrowOnError());
853  }
854 
856  void logErrorMessage(const std::string& message)
857  {
858  helicsFederateLogErrorMessage(fed, message.c_str(), hThrowOnError());
859  }
861  void logWarningMessage(const std::string& message)
862  {
864  }
866  void logInfoMessage(const std::string& message)
867  {
868  helicsFederateLogInfoMessage(fed, message.c_str(), hThrowOnError());
869  }
871  void logDebugMessage(const std::string& message)
872  {
873  helicsFederateLogDebugMessage(fed, message.c_str(), hThrowOnError());
874  }
876  void logMessage(int level, const std::string& message)
877  {
878  helicsFederateLogLevelMessage(fed, level, message.c_str(), hThrowOnError());
879  }
882  {
884  }
887  {
888  return fed;
889  }
890 
891  protected:
894 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
895  private:
896  static constexpr int numberOfCallbacks = 5;
897  static constexpr int timeRequestEntryCallbackLocation = 0;
898  static constexpr int timeUpdateCallbackLocation = 1;
899  static constexpr int stateChangeCallbackLocation = 2;
900  static constexpr int queryCallbackLocation = 3;
901  static constexpr int timeRequestReturnCallbackLocation = 4;
902  void** callbackBuffers{nullptr};
903 
904  void checkCallbackAllocation()
905  {
906  if (callbackBuffers == nullptr) {
907  callbackBuffers = new void*[numberOfCallbacks];
908  for (int ii = 0; ii < numberOfCallbacks; ++ii) {
909  callbackBuffers[ii] = nullptr;
910  }
911  }
912  }
913  void freeCallbacks()
914  {
915  if (callbackBuffers == nullptr) {
916  return;
917  }
918  if (callbackBuffers[queryCallbackLocation] != nullptr) {
919  auto cback = reinterpret_cast<std::function<std::string(const std::string&)>*>(
920  callbackBuffers[queryCallbackLocation]);
921  delete cback;
922  }
923  if (callbackBuffers[timeRequestEntryCallbackLocation] != nullptr) {
924  auto cback = reinterpret_cast<std::function<void(HelicsTime, HelicsTime, bool)>*>(
925  callbackBuffers[timeRequestEntryCallbackLocation]);
926  delete cback;
927  }
928  if (callbackBuffers[timeUpdateCallbackLocation] != nullptr) {
929  auto cback = reinterpret_cast<std::function<void(HelicsTime, bool)>*>(
930  callbackBuffers[timeUpdateCallbackLocation]);
931  delete cback;
932  }
933  if (callbackBuffers[stateChangeCallbackLocation] != nullptr) {
934  auto cback =
935  reinterpret_cast<std::function<void(HelicsFederateState, HelicsFederateState)>*>(
936  callbackBuffers[stateChangeCallbackLocation]);
937  delete cback;
938  }
939  if (callbackBuffers[timeRequestReturnCallbackLocation] != nullptr) {
940  auto cback = reinterpret_cast<std::function<void(HelicsTime, bool)>*>(
941  callbackBuffers[timeRequestReturnCallbackLocation]);
942  delete cback;
943  }
944  delete[] callbackBuffers;
945  }
946 #endif
947 };
948 
949 inline void protect(const std::string& name)
950 {
951  helicsFederateProtect(name.c_str(), hThrowOnError());
952 }
953 inline void unProtect(const std::string& name)
954 {
955  helicsFederateUnProtect(name.c_str(), hThrowOnError());
956 }
957 
958 inline bool isProtected(const std::string& name)
959 {
960  return (helicsFederateIsProtected(name.c_str(), hThrowOnError()) == HELICS_TRUE) ? true : false;
961 }
962 
963 } // namespace helicscpp
964 
965 #endif
helicsFederateGetFilterByIndex
HelicsFilter helicsFederateGetFilterByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: MessageFiltersExport.cpp:223
helicsFederateSetTag
void helicsFederateSetTag(HelicsFederate fed, const char *tagName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1352
helicscpp::FederateInfo::setCoreType
void setCoreType(int coretype)
Definition: cpp98/Federate.hpp:116
helicscpp::Federate::finalizeComplete
void finalizeComplete()
Definition: cpp98/Federate.hpp:466
helicsFederateSetGlobal
void helicsFederateSetGlobal(HelicsFederate fed, const char *valueName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1331
HelicsTime
double HelicsTime
Definition: api-data.h:100
helicscpp::Federate::getObject
HelicsFederate getObject() const
Definition: cpp98/Federate.hpp:886
helicsQueryBufferFill
void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char *queryResult, int strSize, HelicsError *err)
Definition: helicsCallbacks.cpp:149
helicscpp::Federate::logMessage
void logMessage(int level, const std::string &message)
Definition: cpp98/Federate.hpp:876
HELICS_FALSE
const HelicsBool HELICS_FALSE
Definition: api-data.h:115
helicscpp::FederateInfo::setBrokerInit
void setBrokerInit(const std::string &brokerInit)
Set a string for the broker initialization in command line argument format.
Definition: cpp98/Federate.hpp:102
helicscpp::Federate::enterInitializingModeAsync
void enterInitializingModeAsync()
Definition: cpp98/Federate.hpp:386
helicsFederateSetFlagOption
void helicsFederateSetFlagOption(HelicsFederate fed, int flag, HelicsBool flagValue, HelicsError *err)
Definition: FederateExport.cpp:1225
helicsFederateRegisterGlobalCloningFilter
HelicsFilter helicsFederateRegisterGlobalCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:142
helicscpp::Federate::finalize
void finalize()
Definition: cpp98/Federate.hpp:455
helicsFederateGetCurrentTime
HelicsTime helicsFederateGetCurrentTime(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1320
helicscpp::HelicsIterationTime
Definition: cpp98/Federate.hpp:242
helicscpp::Federate::exec_async_iterate
bool exec_async_iterate
indicator that the federate is in an async operation
Definition: cpp98/Federate.hpp:893
HELICS_TRUE
const HelicsBool HELICS_TRUE
Definition: api-data.h:114
helicsFederateInfoSetBroker
void helicsFederateInfoSetBroker(HelicsFederateInfo fi, const char *broker, HelicsError *err)
Definition: FederateExport.cpp:283
helicscpp::Federate::logErrorMessage
void logErrorMessage(const std::string &message)
Definition: cpp98/Federate.hpp:856
helicscpp::Federate::getTag
const char * getTag(const std::string &tag) const
Definition: cpp98/Federate.hpp:823
helicscpp::Federate::registerGlobalFilter
Filter registerGlobalFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:759
helicsFederateRequestTimeComplete
HelicsTime helicsFederateRequestTimeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1043
helicsFederateRequestTimeAdvance
HelicsTime helicsFederateRequestTimeAdvance(HelicsFederate fed, HelicsTime timeDelta, HelicsError *err)
Definition: FederateExport.cpp:968
helicscpp::Federate::logInfoMessage
void logInfoMessage(const std::string &message)
Definition: cpp98/Federate.hpp:866
helicsFederateEnterExecutingModeAsync
void helicsFederateEnterExecutingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:895
helicscpp::Federate::enterExecutingModeAsync
void enterExecutingModeAsync(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:426
helicsQuerySetOrdering
void helicsQuerySetOrdering(HelicsQuery query, int32_t mode, HelicsError *err)
Definition: helicsExport.cpp:1189
helicscpp::Federate::requestTimeIterativeAsync
void requestTimeIterativeAsync(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:522
helicscpp::Federate::finalizeAsync
void finalizeAsync()
Definition: cpp98/Federate.hpp:461
helicscpp::CloningFilter
Definition: Filter.hpp:112
helicscpp::Federate::localError
void localError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:841
helicscpp::HelicsIterationTime::grantedTime
HelicsTime grantedTime
the time of the granted step
Definition: cpp98/Federate.hpp:243
helicscpp::Federate::getTimeProperty
HelicsTime getTimeProperty(int tProperty) const
Definition: cpp98/Federate.hpp:339
helicsFederateGetFilterCount
int helicsFederateGetFilterCount(HelicsFederate fed)
Definition: MessageFiltersExport.cpp:214
helicscpp::FederateInfo::getInfo
HelicsFederateInfo getInfo()
Definition: cpp98/Federate.hpp:179
helicsFederateProcessCommunications
void helicsFederateProcessCommunications(HelicsFederate fed, HelicsTime period, HelicsError *err)
Definition: FederateExport.cpp:1098
helicsFederateEnterExecutingModeIterative
HelicsIterationResult helicsFederateEnterExecutingModeIterative(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:879
helicsFederateAddDependency
void helicsFederateAddDependency(HelicsFederate fed, const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:1395
helicsFederateEnterExecutingMode
void helicsFederateEnterExecutingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:834
helicsFederateSetTimeRequestReturnCallback
void helicsFederateSetTimeRequestReturnCallback(HelicsFederate fed, void(*requestTimeReturn)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1178
helicsFederateEnterExecutingModeIterativeAsync
void helicsFederateEnterExecutingModeIterativeAsync(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:909
helicsFederateLocalError
void helicsFederateLocalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:703
HelicsFederate
void * HelicsFederate
Definition: api-data.h:65
helicsFederateIsAsyncOperationCompleted
HelicsBool helicsFederateIsAsyncOperationCompleted(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:811
helicsFederateRegisterInterfaces
void helicsFederateRegisterInterfaces(HelicsFederate fed, const char *file, HelicsError *err)
Definition: FederateExport.cpp:669
helicscpp::Federate::isAsyncOperationCompleted
bool isAsyncOperationCompleted() const
Definition: cpp98/Federate.hpp:394
helicscpp::Federate::requestTimeIterativeComplete
HelicsIterationTime requestTimeIterativeComplete()
Definition: cpp98/Federate.hpp:537
helicsFederateFinalize
void helicsFederateFinalize(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:719
helicsFederateSendCommand
void helicsFederateSendCommand(HelicsFederate fed, const char *target, const char *command, HelicsError *err)
Definition: FederateExport.cpp:1470
HelicsQueryBuffer
void * HelicsQueryBuffer
Definition: api-data.h:88
helicscpp::Federate
Definition: cpp98/Federate.hpp:248
helicsFederateSetSeparator
void helicsFederateSetSeparator(HelicsFederate fed, char separator, HelicsError *err)
Definition: FederateExport.cpp:1311
helicscpp::FederateInfo::setBrokerKey
void setBrokerKey(const std::string &brokerkey)
Definition: cpp98/Federate.hpp:130
helicsQueryExecute
const char * helicsQueryExecute(HelicsQuery query, HelicsFederate fed, HelicsError *err)
Definition: helicsExport.cpp:1025
helicscpp::FederateInfo::setCoreType
void setCoreType(const std::string &coretype)
Definition: cpp98/Federate.hpp:109
helicsFederateClone
HelicsFederate helicsFederateClone(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:557
helicscpp::Federate::getCurrentMode
HelicsFederateState getCurrentMode() const
Definition: cpp98/Federate.hpp:371
helicsFederateEnterExecutingModeComplete
void helicsFederateEnterExecutingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:923
helicscpp::FederateInfo
Definition: cpp98/Federate.hpp:28
helicsQueryFree
void helicsQueryFree(HelicsQuery query)
Definition: helicsExport.cpp:1198
helicsFederateGlobalError
void helicsFederateGlobalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:687
helicsFederateLogWarningMessage
void helicsFederateLogWarningMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1446
helicsFederateGetState
HelicsFederateState helicsFederateGetState(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1117
helicsFederateGetCommand
const char * helicsFederateGetCommand(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1479
helicscpp::Federate::setProperty
void setProperty(int intProperty, int value)
Definition: cpp98/Federate.hpp:324
helicsFederateRequestTime
HelicsTime helicsFederateRequestTime(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:952
helicscpp::Federate::globalError
void globalError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:850
helicscpp::FederateInfo::setCoreName
void setCoreName(const std::string &corename)
Definition: cpp98/Federate.hpp:86
helicsFederateSetIntegerProperty
void helicsFederateSetIntegerProperty(HelicsFederate fed, int intProperty, int propertyVal, HelicsError *err)
Definition: FederateExport.cpp:1241
helicscpp::Federate::requestTimeComplete
HelicsTime requestTimeComplete()
Definition: cpp98/Federate.hpp:529
helicscpp::Federate::enterExecutingMode
HelicsIterationResult enterExecutingMode(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:411
helicsFederateSetQueryCallback
void helicsFederateSetQueryCallback(HelicsFederate fed, void(*queryAnswer)(const char *query, int querySize, HelicsQueryBuffer buffer, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:98
helicsFederateProtect
void helicsFederateProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:604
helicscpp::FederateInfo::~FederateInfo
~FederateInfo()
Definition: cpp98/Federate.hpp:76
helicscpp::FederateInfo::FederateInfo
FederateInfo(int coretype)
Definition: cpp98/Federate.hpp:41
helicsFederateSetTimeProperty
void helicsFederateSetTimeProperty(HelicsFederate fed, int timeProperty, HelicsTime time, HelicsError *err)
Definition: FederateExport.cpp:1211
helicsFederateInfoSetTimeProperty
void helicsFederateInfoSetTimeProperty(HelicsFederateInfo fi, int timeProperty, HelicsTime propertyValue, HelicsError *err)
Definition: FederateExport.cpp:392
helicscpp::Federate::query
std::string query(const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:580
helicscpp::Federate::registerInterfaces
void registerInterfaces(const std::string &configString)
Definition: cpp98/Federate.hpp:366
helicsFederateRequestNextStep
HelicsTime helicsFederateRequestNextStep(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:984
helicsCreateFederateInfo
HelicsFederateInfo helicsCreateFederateInfo(void)
Definition: FederateExport.cpp:131
helicscpp::FederateInfo::setFlagOption
void setFlagOption(int flag, bool value=true)
Definition: cpp98/Federate.hpp:138
HelicsFederateInfo
void * HelicsFederateInfo
Definition: api-data.h:71
helicsFederateGetName
const char * helicsFederateGetName(HelicsFederate fed)
Definition: FederateExport.cpp:1201
helicscpp::Federate::getFilterCount
int getFilterCount() const
Definition: cpp98/Federate.hpp:779
helicsFederateUnProtect
void helicsFederateUnProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:615
helicscpp::FederateInfo::setBroker
void setBroker(const std::string &broker)
Definition: cpp98/Federate.hpp:123
helicscpp::Federate::getFilter
Filter getFilter(const std::string &filterName)
Definition: cpp98/Federate.hpp:786
helicsFederateInfoFree
void helicsFederateInfoFree(HelicsFederateInfo fi)
Definition: FederateExport.cpp:167
helicscpp::Federate::logDebugMessage
void logDebugMessage(const std::string &message)
Definition: cpp98/Federate.hpp:871
helicscpp::Federate::requestTimeIterative
HelicsIterationTime requestTimeIterative(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:500
helicscpp::Federate::operator=
Federate & operator=(const Federate &fedObj)
Copy assignment operator.
Definition: cpp98/Federate.hpp:258
helicsFederateInfoSetFlagOption
void helicsFederateInfoSetFlagOption(HelicsFederateInfo fi, int flag, HelicsBool value, HelicsError *err)
Definition: FederateExport.cpp:369
helicscpp::Federate::baseObject
HelicsFederate baseObject() const
Definition: cpp98/Federate.hpp:297
helicscpp::Federate::addDependency
void addDependency(const std::string &fedName)
Definition: cpp98/Federate.hpp:832
helicsFederateGetFilter
HelicsFilter helicsFederateGetFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:186
helicsFederateEnterInitializingModeAsync
void helicsFederateEnterInitializingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:797
helicscpp::Federate::Federate
Federate(const Federate &fedObj)
Copy constructor.
Definition: cpp98/Federate.hpp:253
helicscpp::Federate::getFlagOption
bool getFlagOption(int flag) const
Definition: cpp98/Federate.hpp:332
helicscpp::FederateInfo::operator=
FederateInfo & operator=(const FederateInfo &fedInfo)
Definition: cpp98/Federate.hpp:52
helicsFederateInfoSetCoreInitString
void helicsFederateInfoSetCoreInitString(HelicsFederateInfo fi, const char *coreInit, HelicsError *err)
Definition: FederateExport.cpp:225
helicscpp::Federate::enterInitializingMode
void enterInitializingMode()
Definition: cpp98/Federate.hpp:378
helicsFederateInfoSetCoreName
void helicsFederateInfoSetCoreName(HelicsFederateInfo fi, const char *corename, HelicsError *err)
Definition: FederateExport.cpp:211
helicsFederateGetIntegerProperty
int helicsFederateGetIntegerProperty(HelicsFederate fed, int intProperty, HelicsError *err)
Definition: FederateExport.cpp:1294
helicsFederateRequestTimeIterative
HelicsTime helicsFederateRequestTimeIterative(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsIterationResult *outIteration, HelicsError *err)
Definition: FederateExport.cpp:1000
helicscpp::hThrowOnError
Definition: helicsExceptions.hpp:38
helicsFederateLogDebugMessage
void helicsFederateLogDebugMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1456
helicscpp::FederateInfo::FederateInfo
FederateInfo()
Definition: cpp98/Federate.hpp:31
helicsFederateLogInfoMessage
void helicsFederateLogInfoMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1451
helicscpp::Federate::query
std::string query(const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:607
helicscpp::FederateInfo::FederateInfo
FederateInfo(const std::string &coretype)
Definition: cpp98/Federate.hpp:34
HelicsSequencingModes
HelicsSequencingModes
Definition: helics_enums.h:395
helicsFederateLogLevelMessage
void helicsFederateLogLevelMessage(HelicsFederate fed, int loglevel, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1461
helicscpp::Federate::getName
const char * getName() const
Definition: cpp98/Federate.hpp:550
helicsFederateInfoSetCoreTypeFromString
void helicsFederateInfoSetCoreTypeFromString(HelicsFederateInfo fi, const char *coretype, HelicsError *err)
Definition: FederateExport.cpp:262
helicsFederateGetCommandSource
const char * helicsFederateGetCommandSource(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1494
helicscpp::Federate::setFlagOption
void setFlagOption(int flag, bool flagValue=true)
Definition: cpp98/Federate.hpp:305
helicscpp::Federate::enterExecutingModeComplete
HelicsIterationResult enterExecutingModeComplete()
Definition: cpp98/Federate.hpp:442
helicscpp::Federate::Federate
Federate() HELICS_NOTHROW
Default constructor.
Definition: cpp98/Federate.hpp:251
helicscpp::Federate::protect
void protect()
Definition: cpp98/Federate.hpp:556
HelicsFilterTypes
HelicsFilterTypes
Definition: helics_enums.h:359
helicscpp::Federate::registerGlobalCloningFilter
CloningFilter registerGlobalCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:772
helicscpp::Federate::registerCloningFilter
CloningFilter registerCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:749
helicsFederateInfoLoadFromString
void helicsFederateInfoLoadFromString(HelicsFederateInfo fi, const char *args, HelicsError *err)
Definition: FederateExport.cpp:197
helicsFederateFinalizeComplete
void helicsFederateFinalizeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:729
helicscpp::FederateInfo::setSeparator
void setSeparator(char sep)
Set the separator character.
Definition: cpp98/Federate.hpp:91
helicscpp::Federate::enterInitializingModeComplete
void enterInitializingModeComplete()
Definition: cpp98/Federate.hpp:402
helicsFederateGetTag
const char * helicsFederateGetTag(HelicsFederate fed, const char *tagName, HelicsError *err)
Definition: FederateExport.cpp:1372
helicscpp::Federate::getCore
HelicsCore getCore()
Definition: cpp98/Federate.hpp:881
HelicsFederateState
HelicsFederateState
Definition: api-data.h:139
HELICS_ITERATION_REQUEST_NO_ITERATION
@ HELICS_ITERATION_REQUEST_NO_ITERATION
Definition: api-data.h:121
helicscpp::FederateInfo::setProperty
void setProperty(int integerProperty, int propertyValue)
Definition: cpp98/Federate.hpp:157
helicsFederateSetTimeUpdateCallback
void helicsFederateSetTimeUpdateCallback(HelicsFederate fed, void(*timeUpdate)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:125
helicscpp::Federate::requestTime
HelicsTime requestTime(HelicsTime time)
Definition: cpp98/Federate.hpp:478
HelicsIterationResult
HelicsIterationResult
Definition: api-data.h:129
helicscpp::Federate::setProperty
void setProperty(int tProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:316
helicscpp::Federate::setGlobal
void setGlobal(const std::string &valueName, const std::string &value)
Definition: cpp98/Federate.hpp:803
helicscpp::Federate::unProtect
void unProtect()
Definition: cpp98/Federate.hpp:562
helicscpp::HelicsIterationTime
struct helicscpp::HelicsIterationTime HelicsIterationTime
HELICS_SEQUENCING_MODE_FAST
@ HELICS_SEQUENCING_MODE_FAST
Definition: helics_enums.h:397
helicscpp::Federate::requestTimeAsync
void requestTimeAsync(HelicsTime time)
Definition: cpp98/Federate.hpp:511
helicsFederateGetFlagOption
HelicsBool helicsFederateGetFlagOption(HelicsFederate fed, int flag, HelicsError *err)
Definition: FederateExport.cpp:1276
helicsFederateIsProtected
HelicsBool helicsFederateIsProtected(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:630
helicscpp::Federate::fed
HelicsFederate fed
underlying HelicsFederate object
Definition: cpp98/Federate.hpp:892
HelicsCore
void * HelicsCore
Definition: api-data.h:54
helicscpp::FederateInfo::setProperty
void setProperty(int timeProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:149
helicscpp::HelicsIterationTime::status
HelicsIterationResult status
the convergence state
Definition: cpp98/Federate.hpp:244
helicscpp::FederateInfo::setCoreInit
void setCoreInit(const std::string &coreInit)
Definition: cpp98/Federate.hpp:97
helicsFederateRequestTimeIterativeComplete
HelicsTime helicsFederateRequestTimeIterativeComplete(HelicsFederate fed, HelicsIterationResult *outIterate, HelicsError *err)
Definition: FederateExport.cpp:1073
helicscpp::Federate::getFilter
Filter getFilter(int index)
Definition: cpp98/Federate.hpp:793
helicsFederateFinalizeAsync
void helicsFederateFinalizeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:724
helicsFederateInfoSetBrokerKey
void helicsFederateInfoSetBrokerKey(HelicsFederateInfo fi, const char *brokerkey, HelicsError *err)
Definition: FederateExport.cpp:297
helicsFederateFree
void helicsFederateFree(HelicsFederate fed)
Definition: helicsExport.cpp:944
helicscpp::Federate::requestTimeAdvance
HelicsTime requestTimeAdvance(HelicsTime timeDelta)
Definition: cpp98/Federate.hpp:492
helicsFederateRequestTimeAsync
void helicsFederateRequestTimeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:1029
helicsFederateInfoSetBrokerInitString
void helicsFederateInfoSetBrokerInitString(HelicsFederateInfo fi, const char *brokerInit, HelicsError *err)
Definition: FederateExport.cpp:239
helicscpp::Federate::logWarningMessage
void logWarningMessage(const std::string &message)
Definition: cpp98/Federate.hpp:861
helicscpp::FederateInfo::FederateInfo
FederateInfo(const FederateInfo &fedInfo)
Definition: cpp98/Federate.hpp:47
helicsFederateEnterInitializingMode
void helicsFederateEnterInitializingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:783
helicsFederateGetTimeProperty
HelicsTime helicsFederateGetTimeProperty(HelicsFederate fed, int timeProperty, HelicsError *err)
Definition: FederateExport.cpp:1257
helicsFederateInfoSetIntegerProperty
void helicsFederateInfoSetIntegerProperty(HelicsFederateInfo fi, int intProperty, int propertyValue, HelicsError *err)
Definition: FederateExport.cpp:410
helicsFederateRegisterGlobalFilter
HelicsFilter helicsFederateRegisterGlobalFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:79
helicsCreateQuery
HelicsQuery helicsCreateQuery(const char *target, const char *query)
Definition: helicsExport.cpp:1012
helicsFederateEnterInitializingModeComplete
void helicsFederateEnterInitializingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:820
HELICS_ITERATION_RESULT_NEXT_STEP
@ HELICS_ITERATION_RESULT_NEXT_STEP
Definition: api-data.h:130
helicscpp::Federate::~Federate
virtual ~Federate()
Definition: cpp98/Federate.hpp:282
helicsFederateLogErrorMessage
void helicsFederateLogErrorMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1441
HelicsQuery
void * HelicsQuery
Definition: api-data.h:77
helicscpp::Federate::getCurrentTime
HelicsTime getCurrentTime()
Definition: cpp98/Federate.hpp:471
helicsFederateRegisterFilter
HelicsFilter helicsFederateRegisterFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:58
helicsFederateRegisterCloningFilter
HelicsFilter helicsFederateRegisterCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:122
helicsFederateSetTimeRequestEntryCallback
void helicsFederateSetTimeRequestEntryCallback(HelicsFederate fed, void(*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1128
helicscpp::Federate::setTag
void setTag(const std::string &tag, const std::string &value)
Definition: cpp98/Federate.hpp:813
helicsFederateEnterExecutingModeIterativeComplete
HelicsIterationResult helicsFederateEnterExecutingModeIterativeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:936
helicsFederateInfoSetSeparator
void helicsFederateInfoSetSeparator(HelicsFederateInfo fi, char separator, HelicsError *err)
Definition: FederateExport.cpp:401
helicscpp::Federate::getIntegerProperty
int getIntegerProperty(int intProperty) const
Definition: cpp98/Federate.hpp:346
helicscpp::Filter
Definition: Filter.hpp:18
helicsFederateGetCore
HelicsCore helicsFederateGetCore(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:653
helicscpp::Federate::registerFilter
Filter registerFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:738
helicscpp
Definition: cpp98/Broker.hpp:18
helicscpp::Federate::setSeparator
void setSeparator(char sep)
Definition: cpp98/Federate.hpp:357
helicscpp::Federate::requestNextStep
HelicsTime requestNextStep()
Definition: cpp98/Federate.hpp:484
HelicsBool
int HelicsBool
Definition: api-data.h:112
HelicsIterationRequest
HelicsIterationRequest
Definition: api-data.h:120
helicsFederateInfoSetCoreType
void helicsFederateInfoSetCoreType(HelicsFederateInfo fi, int coretype, HelicsError *err)
Definition: FederateExport.cpp:253
helicsFederateRequestTimeIterativeAsync
void helicsFederateRequestTimeIterativeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1059
helicsFederateSetStateChangeCallback
void helicsFederateSetStateChangeCallback(HelicsFederate fed, void(*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1154