79#ifndef CMSIS_PLUS_RTOS_OS_H_
80#define CMSIS_PLUS_RTOS_OS_H_
84#if defined(__cplusplus)
107#include <cmsis-plus/rtos/port/os-inlines.h>
111#pragma GCC diagnostic push
113#if defined(__clang__)
114#pragma clang diagnostic ignored "-Wc++98-compat"
132 extern thread::threads_list top_threads_list_;
143 thread::threads_list&
152#if defined(OS_HAS_INTERRUPTS_STACK) || defined(__DOXYGEN__)
179 template<
typename T,
typename ... Args>
180 inline typename std::enable_if<!std::is_array<T>::value,
181 std::shared_ptr<T> >::type
185 typedef typename std::remove_const<T>::type T_nc;
187 std::forward<Args>(args)...);
193#pragma GCC diagnostic pop
Standard allocator based on the RTOS system default memory manager.
class thread::stack * stack(void)
Get the interrupts stack.
std::enable_if<!std::is_array< T >::value, std::shared_ptr< T > >::type make_shared(Args &&... args)
Create an object that is owned by a shared_ptr and is allocated using the RTOS system allocator.
thread::threads_list & children_threads(thread *th)
Get the children threads.