50 [[nodiscard]] consteval
bool
68 template<
typename Storage,
typename =
void>
69 struct storage_capacity
71 static constexpr std::size_t value = 0U;
74 template<
typename Storage>
75 struct storage_capacity<Storage, std::void_t<decltype(Storage::capacity)>>
77 static constexpr std::size_t value = Storage::capacity;
82 template<
typename... Groups>
86 static constexpr std::size_t
entry_count = (Groups::size + ... + 0U);
94 template<
typename Runtime, std::size_t TimerSlots = 0U,
typename... Groups>
98 using events =
typename Runtime::events;
107 detail::storage_capacity<typename Runtime::policy::storage>::value;
109 static constexpr std::size_t
task_count = task_summary::task_count;
145 std::size_t TimerSlots = 0U,
153 "tsm: runtime resource snapshot exceeds declared budget");
162 template<
typename Profile,
164 std::size_t TimerSlots = 0U,
171 "tsm: target profile forbids heap-backed runtime storage");
172 static_assert(Profile::tick_driven_time,
173 "tsm: runtime resources require tick-driven time semantics");
Static coroutine tasks for tsm runtime executors.
consteval std::size_t max_alignof(type_list< T, Ts... >)
Definition: type_list.h:146
typename as_type_list< T >::type as_type_list_t
Definition: type_list.h:175
consteval std::size_t max_sizeof(type_list< T, Ts... >)
Definition: type_list.h:134
Definition: freertos.h:26
detail::runtime_impl< Definition, Policy, MachinePolicy > Runtime
Definition: runtime.h:531
detail::task_resources< Runtime > task_resources
Definition: coroutine.h:1966
consteval bool fits(resource_snapshot const &snapshot, resource_budget const &budget)
Definition: resources.h:51
Definition: resources.h:167
Definition: resources.h:37
std::size_t task_timer_slots
Definition: resources.h:46
std::size_t max_event_alignment
Definition: resources.h:39
std::size_t delayed_event_timer_slots
Definition: resources.h:41
std::size_t task_group_count
Definition: resources.h:43
std::size_t queue_slots
Definition: resources.h:40
std::size_t task_count
Definition: resources.h:42
bool allow_heap
Definition: resources.h:47
std::size_t max_event_bytes
Definition: resources.h:38
std::size_t task_group_entry_count
Definition: resources.h:44
std::size_t task_arena_bytes
Definition: resources.h:45
Definition: resources.h:148
static constexpr bool fits
Definition: resources.h:150
Definition: resources.h:23
std::size_t max_event_bytes
Definition: resources.h:24
std::size_t delayed_event_timer_slots
Definition: resources.h:27
std::size_t task_timer_slots
Definition: resources.h:32
std::size_t task_arena_bytes
Definition: resources.h:31
std::size_t max_event_alignment
Definition: resources.h:25
bool uses_heap
Definition: resources.h:33
std::size_t queue_slots
Definition: resources.h:26
std::size_t task_group_entry_count
Definition: resources.h:30
std::size_t task_count
Definition: resources.h:28
std::size_t task_group_count
Definition: resources.h:29
Definition: resources.h:96
static constexpr std::size_t task_group_entry_count
Definition: resources.h:112
static constexpr std::size_t max_event_alignment
Definition: resources.h:104
task_resources< Runtime > task_summary
Definition: resources.h:100
static constexpr std::size_t delayed_event_timer_slots
Definition: resources.h:108
static constexpr std::size_t max_event_bytes
Definition: resources.h:102
static consteval bool fits_within(resource_budget const &budget)
Definition: resources.h:132
static constexpr bool uses_heap
Definition: resources.h:116
typename Runtime::events events
Definition: resources.h:98
static constexpr std::size_t task_count
Definition: resources.h:109
static constexpr std::size_t task_arena_bytes
Definition: resources.h:114
static constexpr std::size_t queue_slots
Definition: resources.h:106
static constexpr std::size_t task_group_count
Definition: resources.h:110
tsm::detail::as_type_list_t< events > event_list
Definition: resources.h:99
Runtime runtime_type
Definition: resources.h:97
static consteval resource_snapshot snapshot()
Definition: resources.h:118
static constexpr std::size_t task_timer_slots
Definition: resources.h:115
Definition: resources.h:84
static constexpr std::size_t entry_count
Definition: resources.h:86
static constexpr std::size_t group_count
Definition: resources.h:85