150 template<
class FlagContainer,
class FlagIndex>
153 M.flags |= (
static_cast<decltype(M.flags)
>((1U) << (
static_cast<uint16_t
>((flag)))));
158 template<
class FlagIndex>
161 return ((flags & (
static_cast<uint16_t
>((1U) << (
static_cast<uint16_t
>((flag)))))) != 0U);
165 template<
class FlagContainer,
class FlagIndex>
168 return ((M.flags & (
static_cast<decltype(M.flags)
>((1U) << (
static_cast<uint16_t
>((flag)))))) !=
173 template<
class FlagContainer,
class FlagIndex>
176 M.flags &=
static_cast<decltype(M.flags)
>(~((1U) << (
static_cast<uint16_t
>((flag)))));
180 template<
class FlagContainer,
class FlagIndex>
193 return static_cast<uint16_t
>(1U << (flag));
197 inline constexpr uint16_t
make_flags(
unsigned int flag1,
unsigned int flag2)
203 inline constexpr uint16_t
make_flags(
unsigned int flag1,
unsigned int flag2,
unsigned int flag3)
209 inline constexpr uint16_t
toggle_flag(uint16_t base,
unsigned int flag)
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
constexpr uint16_t toggle_flag(uint16_t base, unsigned int flag)
Definition: flagOperations.hpp:209
OperationFlags
general flags used for other operations
Definition: flagOperations.hpp:132
@ cancel_flag
flag indicating an operation is canceled
Definition: flagOperations.hpp:134
void toggleActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:181
void setActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:151
constexpr uint16_t make_flags(unsigned int flag)
Definition: flagOperations.hpp:191
ConnectionFlags
flags used when connecting a federate/core/broker to a federation
Definition: flagOperations.hpp:88
@ disconnected_flag
flag indicating that a broker/federate is disconnected
Definition: flagOperations.hpp:105
@ dynamic_join_flag
flag indicating that the connection allows joining dynamically
Definition: flagOperations.hpp:101
@ global_timing_flag
flag indicating to use global timing (overload of indicator flag)
Definition: flagOperations.hpp:92
@ core_flag
flag indicating that message comes from a core vs a broker
Definition: flagOperations.hpp:90
@ async_timing_flag
flag indicating use of asynchronous timing on a global level
Definition: flagOperations.hpp:97
@ observer_flag
flag indicating that the connection is an observer only
Definition: flagOperations.hpp:99
@ test_connection_flag
flag indicating this is a test connection
Definition: flagOperations.hpp:107
@ non_counting_flag
flag indicating that a federate should not count in any totals
Definition: flagOperations.hpp:111
@ reentrant_flag
flag indicating that the connection may be reentrant
Definition: flagOperations.hpp:103
@ slow_responding_flag
flag indicating a federate, core or broker is slow responding
Definition: flagOperations.hpp:109
@ use_json_serialization_flag
flag to indicate it should use the json packetization
Definition: flagOperations.hpp:95
MessageFlags
flags used for messages
Definition: flagOperations.hpp:116
@ filter_processing_required_flag
flag indicating that the message requires processing for filters yet
Definition: flagOperations.hpp:118
@ user_custom_message_flag2
Definition: flagOperations.hpp:125
@ user_custom_message_flag1
custom message flag 1
Definition: flagOperations.hpp:120
@ user_custom_message_flag3
custom message flag 3
Definition: flagOperations.hpp:127
@ destination_processing_flag
flag indicating the message is for destination processing
Definition: flagOperations.hpp:122
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:159
void clearActionFlag(FlagContainer &M, FlagIndex flag)
Definition: flagOperations.hpp:174
TimingFlags
flags used in timing messages
Definition: flagOperations.hpp:22
@ iteration_requested_flag
Definition: flagOperations.hpp:23
@ non_granting_flag
flag to indicate the request is from a non-granting federate
Definition: flagOperations.hpp:25
@ delayed_timing_flag
flag to indicate the request is from federate with delayed timing
Definition: flagOperations.hpp:30
@ parent_flag
flag indicating the message is from a parent object
Definition: flagOperations.hpp:32
@ child_flag
flag indicating a message is from a child object
Definition: flagOperations.hpp:35
@ interrupted_flag
flag to mark an interrupted event
Definition: flagOperations.hpp:28
InterfaceFlags
flags used on handles
Definition: flagOperations.hpp:39
@ nameless_interface_flag
flag to indicate an interface is nameless
Definition: flagOperations.hpp:61
@ only_transmit_on_change_flag
indicator that the interface should only transmit on change
Definition: flagOperations.hpp:58
@ only_update_on_change_flag
flag indicating that the values should only be updated on change
Definition: flagOperations.hpp:49
@ buffer_data_flag
indicator that the interface should buffer data
Definition: flagOperations.hpp:41
@ destination_target
indicator that the target is a destination target
Definition: flagOperations.hpp:43
@ single_connection_flag
flag indicating that the interface accepts only a single connection
Definition: flagOperations.hpp:47
@ reconnectable_flag
flag indicating that the target is mapped
Definition: flagOperations.hpp:51
@ optional_flag
flag indicating that a connection is optional and may not be matched
Definition: flagOperations.hpp:53
@ required_flag
flag indicating that an action or match is required
Definition: flagOperations.hpp:45
EndpointFlags
enumeration of endpoint specific flags
Definition: flagOperations.hpp:65
@ receive_only_flag
indicator that an endpoint is receive only
Definition: flagOperations.hpp:74
@ targeted_flag
flag indicating an endpoint is targeted
Definition: flagOperations.hpp:67
@ source_only_flag
indicator that an endpoint is source only
Definition: flagOperations.hpp:72
@ has_source_filter_flag
indicator that an endpoint or message has a source filter
Definition: flagOperations.hpp:70
FilterFlags
enumeration of filter specific flags
Definition: flagOperations.hpp:78
@ has_non_cloning_dest_filter_flag
indicator that the endpoint or filter has a destination filter that alters the message
Definition: flagOperations.hpp:84
@ clone_flag
flag indicating the filter is a clone filter or the data needs to be cloned
Definition: flagOperations.hpp:80
@ has_dest_filter_flag
indicator that an endpoint or message has a destination filter
Definition: flagOperations.hpp:82
GeneralFlags
Definition: flagOperations.hpp:16
@ indicator_flag
flag used for setting values
Definition: flagOperations.hpp:18
@ error_flag
flag indicating an error condition associated with the command
Definition: flagOperations.hpp:17