| helics 3.6.1

Classes | Public Member Functions | Protected Attributes | List of all members
helics::apps::Clone Class Reference

`#include <Clone.hpp>`

Inheritance diagram for helics::apps::Clone:

## Classes
class | ValueCapture

## Public Member Functions
| Clone (std::string_view appName, FederateInfo &fedInfo)
| Clone (std::vector< std::string > args)
| Clone (int argc, char *argv[])
| Clone (std::string_view appName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo)
| Clone (std::string_view appName, CoreApp &core, const FederateInfo &fedInfo)
| Clone (std::string_view appName, const std::string &configString)
| Clone (Clone &&other_recorder)=default
Clone & | operator= (Clone &&record)=default
| ~Clone ()
virtual void | runTo (Time runToTime) override
void | saveFile (const std::string &filename=std::string{})
auto | pointCount () const
auto | messageCount () const
std::tuple< Time, std::string, std::string > | getValue (int index) const
std::unique_ptr< Message > | getMessage (int index) const
void | setFederateToClone (std::string_view federateName)
void | setOutputFile (std::string_view fileName)
Public Member Functions inherited from helics::apps::App
| App ()=default
| App (std::string_view defaultAppName, std::vector< std::string > args)
| App (std::string_view defaultAppName, int argc, char *argv[])
| App (std::string_view appName, const FederateInfo &fedInfo)
| App (std::string_view appName, const std::shared_ptr< Core > &core, const FederateInfo &fedInfo)
| App (std::string_view appName, CoreApp &core, const FederateInfo &fedInfo)
| App (std::string_view appName, const std::string &configString)
| App (App &&other_app)=default
| App (const App &other_app)=delete
App & | operator= (App &&app)=default
App & | operator= (const App &app)=delete
void | loadFile (const std::string &filename, bool enableFederateInterfaceRegistration=true)
virtual void | run ()
virtual void | finalize ()
bool | isActive () const
const CombinationFederate & | accessUnderlyingFederate () const
std::shared_ptr< CombinationFederate > | getUnderlyingFederatePointer ()

## Protected Attributes
bool | allow_iteration {false}
| trigger to allow Iteration
bool | verbose {false}
| print all captured values to the screen
bool | fileSaved {false}
| true if the file has been saved already
Time | nextPrintTimeStep
| the time advancement period for printing markers More...
std::unique_ptr< CloningFilter > | cFilt
| a pointer to a clone filter
std::vector< ValueCapture > | points
| lists of points that were captured
std::deque< Input > | subscriptions
| the actual subscription objects
std::vector< std::string > | cloneSubscriptionNames
| string of the subscriptions of the cloned federate
std::unique_ptr< Endpoint > | cloneEndpoint
| the endpoint for cloned message delivery
std::vector< std::unique_ptr< Message > > | messages
| list of messages
std::map< helics::InterfaceHandle, int > | subids
| map of the subscription ids
std::map< std::string_view, int > | subkeys
| translate subscription names to an index
std::map< helics::InterfaceHandle, int > | eptids
std::map< std::string_view, int > | eptNames
| translate endpoint name to index
std::string | captureFederate
| storage for the name of the federate to clone
std::string | fedConfig
| storage for the federateConfiguration
std::vector< int > | pubPointCount
| a vector containing the counts of each publication
Protected Attributes inherited from helics::apps::App
std::shared_ptr< CombinationFederate > | fed
| the federate created for the App
Time | stopTime = Time::maxVal()
| the time the App should stop
std::string | configFileName
| name of the config file used for constructing the federate
std::string | inputFileName
| the name of the app input file
std::string | outFileName
| the name of any output file
bool | useLocal {false}
bool | fileLoaded {false}
bool | deactivated {false}
bool | quietMode {false}
bool | helpMode {false}
std::vector< std::string > | remArgs

## Additional Inherited Members
Protected Member Functions inherited from helics::apps::App
virtual void | loadJsonFile (const std::string &jsonString, bool enableFederateInterfaceRegistration)
void | loadJsonFileConfiguration (const std::string &appName, const std::string &jsonString, bool enableFederateInterfaceRegistration)
virtual void | loadTextFile (const std::string &textFile)
void | loadInputFiles ()
void | loadConfigOptions (AppTextParser &aparser)

## Detailed Description

class designed to capture data points from a set of subscriptions or endpoints

## Constructor & Destructor Documentation

## ◆ Clone() [1/7]

helics::apps::Clone::Clone | ( | std::string_view | appName,
|  | FederateInfo & | fedInfo
| ) |  |

construct from a FederateInfo structure

Parameters

  appName | the name of the Recorder, can be left empty for the default or to pull from the federateInfo object
  fedInfo | a federate information structure

## ◆ Clone() [2/7]

helics::apps::Clone::Clone | ( | std::vector< std::string > | args | ) |
| explicit

construct from command line arguments in a vector

Parameters

  args | the command line arguments to pass in a reverse vector

## ◆ Clone() [3/7]

helics::apps::Clone::Clone | ( | int | argc,
|  | char * | argv[]
| ) |  |

construct from command line arguments

## ◆ Clone() [4/7]

helics::apps::Clone::Clone | ( | std::string_view | appName,
|  | const std::shared_ptr< Core > & | core,
|  | const FederateInfo & | fedInfo
| ) |  |

constructor taking a federate information structure and using the given core

Parameters

  appName | the name of the Recorder, can be left empty for the default or to pull from the federateInfo object
  core | a pointer to core object which the federate can join
  fedInfo | a federate information structure

## ◆ Clone() [5/7]

helics::apps::Clone::Clone | ( | std::string_view | appName,
|  | CoreApp & | core,
|  | const FederateInfo & | fedInfo
| ) |  |

constructor taking a federate information structure and using the given core

Parameters

  appName | the name of the federate (can be empty to use defaults from fedInfo)
  core | a coreApp object that can be joined
  fedInfo | a federate information structure

## ◆ Clone() [6/7]

helics::apps::Clone::Clone | ( | std::string_view | appName,
|  | const std::string & | configString
| ) |  |

constructor taking a file with the required information

Parameters

  appName | the name of the app
  configString | a file or json string defining the federate information in JSON or text

## ◆ Clone() [7/7]

helics::apps::Clone::Clone | ( | Clone && | other_recorder | ) |
| default

move construction

## ◆ ~Clone()

helics::apps::Clone::~Clone | ( |  | ) |

destructor

References fileSaved, helics::apps::App::outFileName, and saveFile().

## Member Function Documentation

## ◆ getMessage()

std::unique_ptr< Message > helics::apps::Clone::getMessage | ( | int | index | ) | const

get a message

makes a copy of a message and returns it in a unique_ptr

Parameters

  index | the number of the message to retrieve

References helics::isValidIndex(), and messages.

## ◆ getValue()

std::tuple< Time, std::string, std::string > helics::apps::Clone::getValue | ( | int | index | ) | const

get a string with the value of point index

Parameters

  index | the number of the point to retrieve

Returns
  a pair with the tag as the first element and the value as the second

References helics::isValidIndex(), points, and subscriptions.

## ◆ messageCount()

auto helics::apps::Clone::messageCount | ( |  | ) | const
| inline

get the number of captured messages

## ◆ operator=()

Clone& helics::apps::Clone::operator= | ( | Clone && | record | ) |
| default

move assignment

## ◆ pointCount()

auto helics::apps::Clone::pointCount | ( |  | ) | const
| inline

get the number of captured points

## ◆ runTo()

void helics::apps::Clone::runTo | ( | Time | runToTime | ) |
| override virtual

run the Cloner until the specified time

run the Player until the specified time

Implements helics::apps::App.

References allow_iteration, helics::apps::App::fed, helics::ITERATE_IF_NEEDED, helics::NEXT_STEP, nextPrintTimeStep, and helics::timeZero.

## ◆ saveFile()

void helics::apps::Clone::saveFile | ( | const std::string & | filename = `std::string{}` | ) |

save the data to a file

References cloneSubscriptionNames, fedConfig, fileSaved, messages, helics::apps::App::outFileName, points, and subscriptions.

Referenced by ~Clone().

## ◆ setFederateToClone()

void helics::apps::Clone::setFederateToClone | ( | std::string_view | federateName | ) |

set the name of the federate to Clone

Parameters

  federateName | the name of the federate to clone

References captureFederate.

## ◆ setOutputFile()

void helics::apps::Clone::setOutputFile | ( | std::string_view | fileName | ) |
| inline

set the name of the output file

Parameters

  fileName | the name of the file, can be "" if no file should be auto saved

## Member Data Documentation

## ◆ nextPrintTimeStep

Time helics::apps::Clone::nextPrintTimeStep
| protected

Initial value:
{
helics::timeZero}
helics::timeZero
constexpr Time timeZero
Definition: helicsTime.hpp:31

the time advancement period for printing markers

Referenced by runTo().

The documentation for this class was generated from the following files:

- Clone.hpp
- Clone.cpp