| helics 3.6.1

Namespaces | Enumerations
helics_definitions.hpp File Reference

base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enums.h More...

`#include "helics/helics_enums.h"`

Go to the source code of this file.

## Namespaces
| helics
| the main namespace for the helics co-simulation library User functions will be in the helics namespace with internal functions possible in a lower level namespace
| defs

## Enumerations
enum | helics::defs::Flags : int32_t { helics::defs::OBSERVER = HELICS_FLAG_OBSERVER , helics::defs::UNINTERRUPTIBLE = HELICS_FLAG_UNINTERRUPTIBLE , helics::defs::INTERRUPTIBLE = HELICS_FLAG_INTERRUPTIBLE , helics::defs::SLOW_RESPONDING = HELICS_FLAG_SLOW_RESPONDING , helics::defs::REENTRANT = HELICS_FLAG_REENTRANT , helics::defs::TERMINATE_ON_ERROR = HELICS_FLAG_TERMINATE_ON_ERROR , helics::defs::SOURCE_ONLY = HELICS_FLAG_SOURCE_ONLY , helics::defs::ONLY_TRANSMIT_ON_CHANGE = HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE , helics::defs::ONLY_UPDATE_ON_CHANGE = HELICS_FLAG_ONLY_UPDATE_ON_CHANGE , helics::defs::WAIT_FOR_CURRENT_TIME_UPDATE = HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE , helics::defs::RESTRICTIVE_TIME_POLICY = HELICS_FLAG_RESTRICTIVE_TIME_POLICY , helics::defs::ROLLBACK = HELICS_FLAG_ROLLBACK , helics::defs::FORWARD_COMPUTE = HELICS_FLAG_FORWARD_COMPUTE , helics::defs::REALTIME = HELICS_FLAG_REALTIME , helics::defs::SINGLE_THREAD_FEDERATE = HELICS_FLAG_SINGLE_THREAD_FEDERATE , helics::defs::DELAY_INIT_ENTRY = HELICS_FLAG_DELAY_INIT_ENTRY , helics::defs::ENABLE_INIT_ENTRY = HELICS_FLAG_ENABLE_INIT_ENTRY , helics::defs::IGNORE_TIME_MISMATCH_WARNINGS = HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS , helics::defs::FORCE_LOGGING_FLUSH = HELICS_FLAG_FORCE_LOGGING_FLUSH , helics::defs::DEBUGGING = HELICS_FLAG_DEBUGGING , helics::defs::DUMPLOG = HELICS_FLAG_DUMPLOG , helics::defs::CONNECTIONS_REQUIRED = HELICS_HANDLE_OPTION_CONNECTION_REQUIRED , helics::defs::CONNECTIONS_OPTIONAL = HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL , helics::defs::STRICT_INPUT_TYPE_CHECKING = HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING , helics::defs::STRICT_CONFIG_CHECKING = HELICS_FLAG_STRICT_CONFIG_CHECKING , helics::defs::IGNORE_INPUT_UNIT_MISMATCH = HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH , helics::defs::EVENT_TRIGGERED = HELICS_FLAG_EVENT_TRIGGERED , helics::defs::PROFILING = HELICS_FLAG_PROFILING , helics::defs::PROFILING_MARKER = HELICS_FLAG_PROFILING_MARKER , helics::defs::LOCAL_PROFILING_CAPTURE = HELICS_FLAG_LOCAL_PROFILING_CAPTURE , helics::defs::CALLBACK_FEDERATE = HELICS_FLAG_CALLBACK_FEDERATE , helics::defs::ALLOW_REMOTE_CONTROL = HELICS_FLAG_ALLOW_REMOTE_CONTROL , helics::defs::DISABLE_REMOTE_CONTROL = HELICS_FLAG_DISABLE_REMOTE_CONTROL , helics::defs::USE_JSON_SERIALIZATION = HELICS_FLAG_USE_JSON_SERIALIZATION , helics::defs::AUTOMATED_TIME_REQUEST = HELICS_FLAG_AUTOMATED_TIME_REQUEST }
enum | helics::defs::Errors : int32_t { helics::defs::OK = HELICS_OK , helics::defs::REGISTRATION_FAILURE = HELICS_ERROR_REGISTRATION_FAILURE , helics::defs::CONNECTION_FAILURE = HELICS_ERROR_CONNECTION_FAILURE , helics::defs::INVALID_OBJECT = HELICS_ERROR_INVALID_OBJECT , helics::defs::INVALID_ARGUMENT = HELICS_ERROR_INVALID_ARGUMENT , helics::defs::DISCARD = HELICS_ERROR_DISCARD , helics::defs::SYSTEM_FAILURE = HELICS_ERROR_SYSTEM_FAILURE , helics::defs::WARNING = HELICS_WARNING , helics::defs::INVALID_STATE_TRANSITION = HELICS_ERROR_INVALID_STATE_TRANSITION , helics::defs::INVALID_FUNCTION_CALL = HELICS_ERROR_INVALID_FUNCTION_CALL , helics::defs::EXECUTION_FAILURE = HELICS_ERROR_EXECUTION_FAILURE , helics::defs::OTHER = HELICS_ERROR_OTHER }
enum | helics::defs::Properties : int32_t { TIME_DELTA = HELICS_PROPERTY_TIME_DELTA , PERIOD = HELICS_PROPERTY_TIME_PERIOD , OFFSET = HELICS_PROPERTY_TIME_OFFSET , RT_LAG = HELICS_PROPERTY_TIME_RT_LAG , RT_LEAD = HELICS_PROPERTY_TIME_RT_LEAD , RT_TOLERANCE = HELICS_PROPERTY_TIME_RT_TOLERANCE , GRANT_TIMEOUT = HELICS_PROPERTY_TIME_GRANT_TIMEOUT , INPUT_DELAY = HELICS_PROPERTY_TIME_INPUT_DELAY , OUTPUT_DELAY = HELICS_PROPERTY_TIME_OUTPUT_DELAY , CURRENT_ITERATION = HELICS_PROPERTY_INT_CURRENT_ITERATION , MAX_ITERATIONS = HELICS_PROPERTY_INT_MAX_ITERATIONS , LOG_LEVEL = HELICS_PROPERTY_INT_LOG_LEVEL , STOPTIME = HELICS_PROPERTY_TIME_STOPTIME , FILE_LOG_LEVEL = HELICS_PROPERTY_INT_FILE_LOG_LEVEL , CONSOLE_LOG_LEVEL = HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL , LOG_BUFFER = HELICS_PROPERTY_INT_LOG_BUFFER , INDEX_GROUP = HELICS_PROPERTY_INT_INDEX_GROUP }
enum | helics::defs::Options : int32_t { CONNECTION_REQUIRED = HELICS_HANDLE_OPTION_CONNECTION_REQUIRED , CONNECTION_OPTIONAL = HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL , SINGLE_CONNECTION_ONLY = HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY , MULTIPLE_CONNECTIONS_ALLOWED = HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED , HANDLE_ONLY_TRANSMIT_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE , HANDLE_ONLY_UPDATE_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE , BUFFER_DATA = HELICS_HANDLE_OPTION_BUFFER_DATA , RECONNECTABLE = HELICS_HANDLE_OPTION_RECONNECTABLE , RECEIVE_ONLY = HELICS_HANDLE_OPTION_RECEIVE_ONLY , SEND_ONLY = HELICS_HANDLE_OPTION_SOURCE_ONLY , IGNORE_INTERRUPTS = HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS , STRICT_TYPE_CHECKING = HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING , IGNORE_UNIT_MISMATCH = HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH , MULTI_INPUT_HANDLING_METHOD = HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD , INPUT_PRIORITY_LOCATION = HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION , CLEAR_PRIORITY_LIST = HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST , CONNECTIONS = HELICS_HANDLE_OPTION_CONNECTIONS , TIME_RESTRICTED = HELICS_HANDLE_OPTION_TIME_RESTRICTED }

## Detailed Description

base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enums.h

## Enumeration Type Documentation

## ◆ Errors

enum helics::defs::Errors : int32_t

potential errors that might be generated by a helics federate/core/broker

Enumerator
OK | the function executed successfully
REGISTRATION_FAILURE | registration has failed
CONNECTION_FAILURE | the operation to connect has failed
INVALID_OBJECT | indicator that the object used was not a valid object
INVALID_ARGUMENT | the parameter passed was invalid and unable to be used
DISCARD | the input was discarded and not used for some reason
SYSTEM_FAILURE | the federate has terminated unexpectedly and the call cannot be completed
WARNING | the function issued a warning of some kind
INVALID_STATE_TRANSITION | error issued when an invalid state transition occurred
INVALID_FUNCTION_CALL | the call made was invalid in the present state of the calling object
EXECUTION_FAILURE | the function execution has failed
OTHER | the function produced a helics error of some other type

## ◆ Flags

enum helics::defs::Flags : int32_t

flags that can be used to set different options for a federate

Enumerator
OBSERVER | flag indicating that a federate is observe only
UNINTERRUPTIBLE | flag indicating that a federate can only return requested times
INTERRUPTIBLE | flag indicating that a federate can be interrupted
SLOW_RESPONDING | flag specifying that a federate may be slow to respond to pings If the federate goes offline there is no good way to detect it so use with caution
REENTRANT | flag indicating that a federate is observe only
TERMINATE_ON_ERROR | flag specifying that a federate encountering an internal error should cause and abort for the entire co-simulation
SOURCE_ONLY | flag indicating that a federate/interface is a signal generator only
ONLY_TRANSMIT_ON_CHANGE | flag indicating a federate/interface should only transmit values if they have changed(binary equivalence)
ONLY_UPDATE_ON_CHANGE | flag indicating a federate/interface should only trigger an update if a value has changed (binary equivalence)
WAIT_FOR_CURRENT_TIME_UPDATE | flag indicating a federate should only grant time if all other federates have already passed the requested time
RESTRICTIVE_TIME_POLICY | flag indicating a federate should only operate on a restrictive time policy which means no second order projections and potentially very slow time advancement on gap conditions. Should only be used in selective circumstances
ROLLBACK | flag indicating that a federate has rollback capability
FORWARD_COMPUTE | flag indicating that a federate performs forward computation and does internal rollback
REALTIME | flag indicating that a federate needs to run in real time
SINGLE_THREAD_FEDERATE | flag indicating that the federate will only interact on a single thread
DELAY_INIT_ENTRY | used to delay a core from entering initialization mode even if it would otherwise be ready
ENABLE_INIT_ENTRY | used to clear the HELICS_DELAY_INIT_ENTRY flag in cores
IGNORE_TIME_MISMATCH_WARNINGS | used to not display warnings on mismatched requested times
FORCE_LOGGING_FLUSH | force logging flush
DEBUGGING | user debugging mode
DUMPLOG | dump the logs to a file at the end
CONNECTIONS_REQUIRED | make all connections required
CONNECTIONS_OPTIONAL | make all connections optional
STRICT_INPUT_TYPE_CHECKING | make all inputs have strict type checking
STRICT_CONFIG_CHECKING | be strict about config files
IGNORE_INPUT_UNIT_MISMATCH | ignore mismatching units
EVENT_TRIGGERED | flag indicating that a federate can only return requested times
PROFILING | flag indicating that profiling should be active
PROFILING_MARKER | trigger for a profiling marker
LOCAL_PROFILING_CAPTURE | flag indicating that profiling should captured to federate log file
CALLBACK_FEDERATE | flag indicating the federate is a callback federate
ALLOW_REMOTE_CONTROL | flag indicating that the federate/core/broker should allow remote commands affecting operations
DISABLE_REMOTE_CONTROL | flag indicating that the federate/core/broker should NOT allow remote commands affecting operations
USE_JSON_SERIALIZATION | flag indicating that a federate should use json serialization
AUTOMATED_TIME_REQUEST | flag indicating that a federate should have an automated time request

## ◆ Options

enum helics::defs::Options : int32_t

options for handles

## ◆ Properties

enum helics::defs::Properties : int32_t

integer and time properties that can be set for federates