64#ifndef CMSIS_PLUS_RTOS_OS_H_
65#define CMSIS_PLUS_RTOS_OS_H_
69#if defined(__cplusplus)
71#if defined(OS_USE_OS_APP_CONFIG_H)
72#include <cmsis-plus/os-app-config.h>
96#include <cmsis-plus/rtos/port/os-inlines.h>
100#pragma GCC diagnostic push
101#if defined(__clang__)
102#pragma clang diagnostic ignored "-Wc++98-compat"
120 extern thread::threads_list top_threads_list_;
131 thread::threads_list&
140#if defined(OS_HAS_INTERRUPTS_STACK) || defined(__DOXYGEN__)
157#pragma GCC diagnostic push
158#if defined(__clang__)
159#elif defined(__GNUC__)
160#pragma GCC diagnostic ignored "-Waggregate-return"
173 template<
typename T,
typename ... Args>
174 inline typename std::enable_if<!std::is_array<T>::value,
175 std::shared_ptr<T> >::type
179 typedef typename std::remove_const<T>::type T_nc;
181 std::forward<Args>(args)...);
184#pragma GCC diagnostic pop
189#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.