Class DeviceAPI::AgentOut

Nested Relationships

This class is a nested type of Template Class DeviceAPI.

Class Documentation

class DeviceAPI::AgentOut

Public Functions

__device__ inline AgentOut(const Curve::NamespaceHash &aoh, unsigned int *&scan_flag_agentOutput)
template<typename T, unsigned int N>
__device__ void setVariable(const char (&variable_name)[N], T value) const

Sets a variable in a new agent to be output after the agent function has completed

Note

Any agent variables not set will remain as their default values

Note

Atleast one AgentOut::setVariable() method must be called to trigger an agent output

Parameters
  • variable_name – The name of the variable

  • value – The value to set the variable

Template Parameters
  • T – The type of the variable, as set within the model description hierarchy

  • NVariable name length, this should be ignored as it is implicitly set

template<typename T, unsigned int N, unsigned int M>
__device__ void setVariable(const char (&variable_name)[M], const unsigned int &index, T value) const

Sets an element of an array variable in a new agent to be output after the agent function has completed

Note

Any agent variables not set will remain as their default values

Note

Atleast one AgentOut::setVariable() method must be called to trigger an agent output

Parameters
  • variable_name – The name of the array variable

  • index – The index to set within the array variable

  • value – The value to set the element of the array velement

Template Parameters
  • T – The type of the variable, as set within the model description hierarchy

  • N – The length of the array variable, as set within the model description hierarchy

  • MVariable name length, this should be ignored as it is implicitly set