helics  3.3.0
helics_definitions.hpp
Go to the documentation of this file.
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 #pragma once
8 
12 #include "helics/helics_enums.h"
13 
14 namespace helics {
18 namespace defs {
20  enum Flags : int32_t {
90  };
92  enum Errors : int32_t {
117  };
118 
120  enum Properties : int32_t {
121  TIME_DELTA = HELICS_PROPERTY_TIME_DELTA,
126  RT_TOLERANCE = HELICS_PROPERTY_TIME_RT_TOLERANCE,
127  GRANT_TIMEOUT = HELICS_PROPERTY_TIME_GRANT_TIMEOUT,
128  INPUT_DELAY = HELICS_PROPERTY_TIME_INPUT_DELAY,
129  OUTPUT_DELAY = HELICS_PROPERTY_TIME_OUTPUT_DELAY,
130  MAX_ITERATIONS = HELICS_PROPERTY_INT_MAX_ITERATIONS,
131  LOG_LEVEL = HELICS_PROPERTY_INT_LOG_LEVEL,
132  FILE_LOG_LEVEL = HELICS_PROPERTY_INT_FILE_LOG_LEVEL,
133  CONSOLE_LOG_LEVEL = HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL,
134  LOG_BUFFER = HELICS_PROPERTY_INT_LOG_BUFFER
135  };
136 
138  enum Options : int32_t {
139  CONNECTION_REQUIRED = HELICS_HANDLE_OPTION_CONNECTION_REQUIRED,
140  CONNECTION_OPTIONAL = HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL,
141  SINGLE_CONNECTION_ONLY = HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY,
142  MULTIPLE_CONNECTIONS_ALLOWED = HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED,
143  HANDLE_ONLY_TRANSMIT_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE,
144  HANDLE_ONLY_UPDATE_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE,
145  BUFFER_DATA = HELICS_HANDLE_OPTION_BUFFER_DATA,
146  IGNORE_INTERRUPTS = HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS,
147  STRICT_TYPE_CHECKING = HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING,
148  IGNORE_UNIT_MISMATCH = HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH,
149  MULTI_INPUT_HANDLING_METHOD = HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD,
150  INPUT_PRIORITY_LOCATION = HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION,
151  CLEAR_PRIORITY_LIST = HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST,
153  TIME_RESTRICTED = HELICS_HANDLE_OPTION_TIME_RESTRICTED
154  };
155 
156 } // namespace defs
157 } // namespace helics
helics::defs::WAIT_FOR_CURRENT_TIME_UPDATE
@ WAIT_FOR_CURRENT_TIME_UPDATE
Definition: helics_definitions.hpp:45
helics::defs::EVENT_TRIGGERED
@ EVENT_TRIGGERED
Definition: helics_definitions.hpp:83
HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST
@ HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST
Definition: helics_enums.h:350
HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE
@ HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE
Definition: helics_enums.h:340
HELICS_FLAG_INTERRUPTIBLE
@ HELICS_FLAG_INTERRUPTIBLE
Definition: helics_enums.h:105
helics::defs::SLOW_RESPONDING
@ SLOW_RESPONDING
Definition: helics_definitions.hpp:30
HELICS_FLAG_DEBUGGING
@ HELICS_FLAG_DEBUGGING
Definition: helics_enums.h:167
HELICS_FLAG_FORWARD_COMPUTE
@ HELICS_FLAG_FORWARD_COMPUTE
Definition: helics_enums.h:126
helics::DUMPLOG
@ DUMPLOG
only for dumplog
Definition: logging.hpp:21
HELICS_ERROR_INVALID_STATE_TRANSITION
@ HELICS_ERROR_INVALID_STATE_TRANSITION
Definition: helics_enums.h:228
HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE
@ HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE
Definition: helics_enums.h:342
HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS
@ HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS
Definition: helics_enums.h:344
HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING
@ HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING
Definition: helics_enums.h:335
helics::defs::ONLY_TRANSMIT_ON_CHANGE
@ ONLY_TRANSMIT_ON_CHANGE
Definition: helics_definitions.hpp:39
helics::defs::Options
Options
Definition: helics_definitions.hpp:138
HELICS_ERROR_INVALID_OBJECT
@ HELICS_ERROR_INVALID_OBJECT
Definition: helics_enums.h:238
helics::defs::EXECUTION_FAILURE
@ EXECUTION_FAILURE
Definition: helics_definitions.hpp:114
HELICS_ERROR_REGISTRATION_FAILURE
@ HELICS_ERROR_REGISTRATION_FAILURE
Definition: helics_enums.h:242
HELICS_FLAG_STRICT_CONFIG_CHECKING
@ HELICS_FLAG_STRICT_CONFIG_CHECKING
Definition: helics_enums.h:135
HELICS_ERROR_DISCARD
@ HELICS_ERROR_DISCARD
Definition: helics_enums.h:234
HELICS_FLAG_LOCAL_PROFILING_CAPTURE
@ HELICS_FLAG_LOCAL_PROFILING_CAPTURE
Definition: helics_enums.h:143
HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE
@ HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE
Definition: helics_enums.h:116
HELICS_FLAG_SOURCE_ONLY
@ HELICS_FLAG_SOURCE_ONLY
Definition: helics_enums.h:107
HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION
@ HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION
Definition: helics_enums.h:348
HELICS_ERROR_CONNECTION_FAILURE
@ HELICS_ERROR_CONNECTION_FAILURE
Definition: helics_enums.h:240
HELICS_FLAG_PROFILING
@ HELICS_FLAG_PROFILING
Definition: helics_enums.h:175
helics::defs::IGNORE_INPUT_UNIT_MISMATCH
@ IGNORE_INPUT_UNIT_MISMATCH
Definition: helics_definitions.hpp:81
helics::defs::REGISTRATION_FAILURE
@ REGISTRATION_FAILURE
Definition: helics_definitions.hpp:96
HELICS_PROPERTY_INT_LOG_BUFFER
@ HELICS_PROPERTY_INT_LOG_BUFFER
Definition: helics_enums.h:289
HELICS_ERROR_INVALID_FUNCTION_CALL
@ HELICS_ERROR_INVALID_FUNCTION_CALL
Definition: helics_enums.h:226
helics::defs::OTHER
@ OTHER
Definition: helics_definitions.hpp:116
helics::defs::INTERRUPTIBLE
@ INTERRUPTIBLE
Definition: helics_definitions.hpp:26
HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL
@ HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL
Definition: helics_enums.h:326
HELICS_FLAG_REALTIME
@ HELICS_FLAG_REALTIME
Definition: helics_enums.h:128
helics::defs::ONLY_UPDATE_ON_CHANGE
@ ONLY_UPDATE_ON_CHANGE
Definition: helics_definitions.hpp:42
HELICS_FLAG_DELAY_INIT_ENTRY
@ HELICS_FLAG_DELAY_INIT_ENTRY
Definition: helics_enums.h:150
HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL
@ HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL
Definition: helics_enums.h:287
HELICS_FLAG_OBSERVER
@ HELICS_FLAG_OBSERVER
Definition: helics_enums.h:101
HELICS_FLAG_ROLLBACK
@ HELICS_FLAG_ROLLBACK
Definition: helics_enums.h:123
helics::defs::REALTIME
@ REALTIME
Definition: helics_definitions.hpp:56
HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS
@ HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS
Definition: helics_enums.h:132
HELICS_WARNING
@ HELICS_WARNING
Definition: helics_enums.h:230
helics::defs::SINGLE_THREAD_FEDERATE
@ SINGLE_THREAD_FEDERATE
Definition: helics_definitions.hpp:58
helics::defs::STRICT_CONFIG_CHECKING
@ STRICT_CONFIG_CHECKING
Definition: helics_definitions.hpp:79
HELICS_PROPERTY_INT_LOG_LEVEL
@ HELICS_PROPERTY_INT_LOG_LEVEL
Definition: helics_enums.h:281
helics::defs::ROLLBACK
@ ROLLBACK
Definition: helics_definitions.hpp:51
HELICS_ERROR_OTHER
@ HELICS_ERROR_OTHER
Definition: helics_enums.h:218
HELICS_PROPERTY_INT_MAX_ITERATIONS
@ HELICS_PROPERTY_INT_MAX_ITERATIONS
Definition: helics_enums.h:278
helics::defs::OK
@ OK
Definition: helics_definitions.hpp:94
defs
helics_enums.h
base helics enumerations for C and C++ API's
HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD
@ HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD
Definition: helics_enums.h:346
helics::defs::IGNORE_TIME_MISMATCH_WARNINGS
@ IGNORE_TIME_MISMATCH_WARNINGS
Definition: helics_definitions.hpp:65
HELICS_ERROR_INVALID_ARGUMENT
@ HELICS_ERROR_INVALID_ARGUMENT
Definition: helics_enums.h:236
helics::CONNECTIONS
@ CONNECTIONS
print summary+federate level connection information
Definition: logging.hpp:27
helics::defs::DEBUGGING
@ DEBUGGING
Definition: helics_definitions.hpp:69
HELICS_PROPERTY_TIME_PERIOD
@ HELICS_PROPERTY_TIME_PERIOD
Definition: helics_enums.h:258
helics::defs::Errors
Errors
Definition: helics_definitions.hpp:92
HELICS_PROPERTY_TIME_RT_TOLERANCE
@ HELICS_PROPERTY_TIME_RT_TOLERANCE
Definition: helics_enums.h:269
HELICS_HANDLE_OPTION_CONNECTION_REQUIRED
@ HELICS_HANDLE_OPTION_CONNECTION_REQUIRED
Definition: helics_enums.h:323
HELICS_PROPERTY_TIME_DELTA
@ HELICS_PROPERTY_TIME_DELTA
Definition: helics_enums.h:256
helics::defs::SYSTEM_FAILURE
@ SYSTEM_FAILURE
Definition: helics_definitions.hpp:106
HELICS_FLAG_FORCE_LOGGING_FLUSH
@ HELICS_FLAG_FORCE_LOGGING_FLUSH
Definition: helics_enums.h:171
HELICS_FLAG_TERMINATE_ON_ERROR
@ HELICS_FLAG_TERMINATE_ON_ERROR
Definition: helics_enums.h:169
HELICS_FLAG_ONLY_UPDATE_ON_CHANGE
@ HELICS_FLAG_ONLY_UPDATE_ON_CHANGE
Definition: helics_enums.h:113
helics::defs::FORCE_LOGGING_FLUSH
@ FORCE_LOGGING_FLUSH
Definition: helics_definitions.hpp:67
helics::defs::PROFILING_MARKER
@ PROFILING_MARKER
Definition: helics_definitions.hpp:87
HELICS_FLAG_EVENT_TRIGGERED
@ HELICS_FLAG_EVENT_TRIGGERED
Definition: helics_enums.h:140
HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED
@ HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED
Definition: helics_enums.h:330
helics::defs::LOCAL_PROFILING_CAPTURE
@ LOCAL_PROFILING_CAPTURE
Definition: helics_definitions.hpp:89
HELICS_HANDLE_OPTION_CONNECTIONS
@ HELICS_HANDLE_OPTION_CONNECTIONS
Definition: helics_enums.h:353
HELICS_OK
@ HELICS_OK
Definition: helics_enums.h:244
helics::defs::SOURCE_ONLY
@ SOURCE_ONLY
Definition: helics_definitions.hpp:36
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helics::defs::FORWARD_COMPUTE
@ FORWARD_COMPUTE
Definition: helics_definitions.hpp:54
helics::defs::Flags
Flags
Definition: helics_definitions.hpp:20
HELICS_PROPERTY_TIME_RT_LAG
@ HELICS_PROPERTY_TIME_RT_LAG
Definition: helics_enums.h:263
HELICS_FLAG_SINGLE_THREAD_FEDERATE
@ HELICS_FLAG_SINGLE_THREAD_FEDERATE
Definition: helics_enums.h:130
HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH
@ HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH
Definition: helics_enums.h:337
helics::defs::ENABLE_INIT_ENTRY
@ ENABLE_INIT_ENTRY
Definition: helics_definitions.hpp:63
helics::defs::CONNECTIONS_REQUIRED
@ CONNECTIONS_REQUIRED
Definition: helics_definitions.hpp:73
helics::defs::TERMINATE_ON_ERROR
@ TERMINATE_ON_ERROR
Definition: helics_definitions.hpp:34
HELICS_FLAG_ENABLE_INIT_ENTRY
@ HELICS_FLAG_ENABLE_INIT_ENTRY
Definition: helics_enums.h:152
HELICS_HANDLE_OPTION_BUFFER_DATA
@ HELICS_HANDLE_OPTION_BUFFER_DATA
Definition: helics_enums.h:333
helics::defs::STRICT_INPUT_TYPE_CHECKING
@ STRICT_INPUT_TYPE_CHECKING
Definition: helics_definitions.hpp:77
helics::defs::OBSERVER
@ OBSERVER
Definition: helics_definitions.hpp:22
HELICS_FLAG_RESTRICTIVE_TIME_POLICY
@ HELICS_FLAG_RESTRICTIVE_TIME_POLICY
Definition: helics_enums.h:121
helics::WARNING
@ WARNING
print/log warning and errors
Definition: logging.hpp:25
helics::defs::RESTRICTIVE_TIME_POLICY
@ RESTRICTIVE_TIME_POLICY
Definition: helics_definitions.hpp:49
helics::defs::INVALID_ARGUMENT
@ INVALID_ARGUMENT
Definition: helics_definitions.hpp:102
helics::PROFILING
@ PROFILING
profiling log level
Definition: logging.hpp:24
HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY
@ HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY
Definition: helics_enums.h:328
HELICS_PROPERTY_TIME_RT_LEAD
@ HELICS_PROPERTY_TIME_RT_LEAD
Definition: helics_enums.h:266
HELICS_PROPERTY_TIME_OUTPUT_DELAY
@ HELICS_PROPERTY_TIME_OUTPUT_DELAY
Definition: helics_enums.h:273
helics::defs::DISCARD
@ DISCARD
Definition: helics_definitions.hpp:104
HELICS_PROPERTY_TIME_INPUT_DELAY
@ HELICS_PROPERTY_TIME_INPUT_DELAY
Definition: helics_enums.h:271
HELICS_FLAG_UNINTERRUPTIBLE
@ HELICS_FLAG_UNINTERRUPTIBLE
Definition: helics_enums.h:103
HELICS_ERROR_EXECUTION_FAILURE
@ HELICS_ERROR_EXECUTION_FAILURE
Definition: helics_enums.h:224
HELICS_PROPERTY_INT_FILE_LOG_LEVEL
@ HELICS_PROPERTY_INT_FILE_LOG_LEVEL
Definition: helics_enums.h:284
helics::defs::CONNECTION_FAILURE
@ CONNECTION_FAILURE
Definition: helics_definitions.hpp:98
HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE
@ HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE
Definition: helics_enums.h:110
helics::defs::INVALID_STATE_TRANSITION
@ INVALID_STATE_TRANSITION
Definition: helics_definitions.hpp:110
HELICS_FLAG_PROFILING_MARKER
@ HELICS_FLAG_PROFILING_MARKER
Definition: helics_enums.h:177
helics::defs::UNINTERRUPTIBLE
@ UNINTERRUPTIBLE
Definition: helics_definitions.hpp:24
helics::defs::CONNECTIONS_OPTIONAL
@ CONNECTIONS_OPTIONAL
Definition: helics_definitions.hpp:75
helics::defs::INVALID_FUNCTION_CALL
@ INVALID_FUNCTION_CALL
Definition: helics_definitions.hpp:112
helics::defs::Properties
Properties
Definition: helics_definitions.hpp:120
HELICS_PROPERTY_TIME_GRANT_TIMEOUT
@ HELICS_PROPERTY_TIME_GRANT_TIMEOUT
Definition: helics_enums.h:276
HELICS_PROPERTY_TIME_OFFSET
@ HELICS_PROPERTY_TIME_OFFSET
Definition: helics_enums.h:260
HELICS_FLAG_DUMPLOG
@ HELICS_FLAG_DUMPLOG
Definition: helics_enums.h:173
helics::defs::DELAY_INIT_ENTRY
@ DELAY_INIT_ENTRY
Definition: helics_definitions.hpp:61
HELICS_ERROR_SYSTEM_FAILURE
@ HELICS_ERROR_SYSTEM_FAILURE
Definition: helics_enums.h:232
helics::defs::INVALID_OBJECT
@ INVALID_OBJECT
Definition: helics_definitions.hpp:100
HELICS_HANDLE_OPTION_TIME_RESTRICTED
@ HELICS_HANDLE_OPTION_TIME_RESTRICTED
Definition: helics_enums.h:355
HELICS_FLAG_SLOW_RESPONDING
@ HELICS_FLAG_SLOW_RESPONDING
Definition: helics_enums.h:163