![]() |
CommRaT 2.0.0
C++20 Real-Time Messaging Framework
|
Centralized type computation for Module class. More...
#include <commrat/module/traits/module_types.hpp>
Static Public Attributes | |
| static constexpr size_t | InputCount = std::tuple_size_v<InputTypesTuple> |
| static constexpr bool | has_multi_input = InputCount > 1 |
| static constexpr bool | has_primary_input_spec = HasPrimaryInputHelper<CommandTypes...>::value |
| static constexpr size_t | num_output_types = std::tuple_size_v<OutputTypesTuple> |
| static constexpr bool | has_multi_output = OutputCount_v<OutputSpec> > 1 |
| static constexpr size_t | num_command_types = sizeof...(CommandTypes) |
| static constexpr bool | use_mailbox_sets = (num_output_types > 1) |
| static constexpr bool | has_continuous_input = HasContinuousInput<InputSpec> |
| static constexpr bool | has_periodic_input = std::is_same_v<InputSpec, PeriodicInput> |
| static constexpr bool | has_loop_input = std::is_same_v<InputSpec, LoopInput> |
Centralized type computation for Module class.
This struct computes all derived types needed by Module at compile time, extracting the complex metaprogramming logic from the Module class itself.
| UserRegistry | The application's MessageRegistry |
| OutputSpec_ | User-provided output specification (normalized internally) |
| InputSpec_ | User-provided input specification (normalized internally) |
| CommandTypes | Optional command types this module handles |
Definition at line 153 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::CmdMailbox = typename MakeTypedCmdMailboxWithSend<UserRegistry, CommandTuple, OutputTypesTuple>::type |
Definition at line 190 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::CombinedCmdTypes = decltype(std::tuple_cat( std::declval<CommandTuple>(), std::declval<OutputTypesTuple>() )) |
Definition at line 183 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::CommandTuple = std::tuple<CommandTypes...> |
Definition at line 173 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::DataMailbox = typename MakeTypedDataMailbox<UserRegistry, DataTypesTuple>::type |
Definition at line 195 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::DataTypesTuple = typename ExtractDataTypes<InputSpec>::type |
Definition at line 194 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::InputData = typename ExtractInputPayload<InputSpec>::type |
Definition at line 199 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::InputSpec = NormalizeInput_t<InputSpec_> |
Definition at line 156 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::InputTypesTuple = typename ExtractInputTypes<InputSpec>::type |
Definition at line 159 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::MailboxSetTuple = typename MakeMailboxSetTuple<UserRegistry, OutputTypesTuple, CommandTypes...>::type |
Definition at line 180 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::OutputData = typename ExtractOutputPayload<OutputSpec>::type |
Definition at line 198 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::OutputSpec = NormalizeOutput_t<OutputSpec_> |
Definition at line 155 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::OutputTypesTuple = typename ::commrat::OutputTypesTuple<OutputSpec>::type |
Definition at line 168 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::PrimaryPayloadType = typename ExtractPrimaryPayloadHelper<CommandTypes...>::type |
Definition at line 165 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::PublishMailbox = typename MakeTypedCmdMailbox<UserRegistry, OutputTypesTuple>::type |
Definition at line 192 of file module_types.hpp.
| using commrat::module_traits::ModuleTypes< UserRegistry, OutputSpec_, InputSpec_, CommandTypes >::WorkMailbox = RegistryMailbox<SystemRegistry> |
Definition at line 191 of file module_types.hpp.
|
staticconstexpr |
Definition at line 202 of file module_types.hpp.
|
staticconstexpr |
Definition at line 204 of file module_types.hpp.
|
staticconstexpr |
Definition at line 161 of file module_types.hpp.
|
staticconstexpr |
Definition at line 170 of file module_types.hpp.
|
staticconstexpr |
Definition at line 203 of file module_types.hpp.
|
staticconstexpr |
Definition at line 164 of file module_types.hpp.
|
staticconstexpr |
Definition at line 160 of file module_types.hpp.
|
staticconstexpr |
Definition at line 174 of file module_types.hpp.
|
staticconstexpr |
Definition at line 169 of file module_types.hpp.
|
staticconstexpr |
Definition at line 177 of file module_types.hpp.