zpp
Zephyr C++20 Framework
thread_stack.hpp File Reference
#include <zephyr/kernel.h>
#include <zephyr/sys/arch_interface.h>
#include <zephyr/sys/__assert.h>
Include dependency graph for thread_stack.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  zpp::thread_stack
 thread_stack holds the stack and thread control block memory More...
 

Namespaces

 zpp
 

Macros

#define ZPP_THREAD_STACK_DEFINE(sym, size)
 
#define ZPP_THREAD_PINNED_STACK_DEFINE(sym, size)
 
#define ZPP_THREAD_STACK_ARRAY_DEFINE(sym, nmemb, size)
 
#define ZPP_THREAD_PINNED_STACK_ARRAY_DEFINE(sym, nmemb, size)
 
#define ZPP_KERNEL_STACK_DEFINE(sym, size)
 
#define ZPP_KERNEL_PINNED_STACK_DEFINE(sym, size)
 
#define ZPP_KERNEL_STACK_ARRAY_DEFINE(sym, nmemb, size)
 
#define ZPP_KERNEL_PINNED_STACK_ARRAY_DEFINE(sym, nmemb, size)
 

Macro Definition Documentation

◆ ZPP_KERNEL_PINNED_STACK_ARRAY_DEFINE

#define ZPP_KERNEL_PINNED_STACK_ARRAY_DEFINE (   sym,
  nmemb,
  size 
)
Value:
K_KERNEL_PINNED_STACK_ARRAY_DEFINE(sym##_native, nmemb, size); \
constexpr auto sym(size_t n) noexcept { \
return zpp::thread_stack(sym##_native[n], size); \
}
thread_stack holds the stack and thread control block memory

Definition at line 92 of file thread_stack.hpp.

◆ ZPP_KERNEL_PINNED_STACK_DEFINE

#define ZPP_KERNEL_PINNED_STACK_DEFINE (   sym,
  size 
)
Value:
K_KERNEL_PINNED_STACK_DEFINE(sym##_native,(size)); \
consteval auto sym() noexcept { \
return zpp::thread_stack(sym##_native, size); \
}

Definition at line 80 of file thread_stack.hpp.

◆ ZPP_KERNEL_STACK_ARRAY_DEFINE

#define ZPP_KERNEL_STACK_ARRAY_DEFINE (   sym,
  nmemb,
  size 
)
Value:
K_KERNEL_STACK_ARRAY_DEFINE(sym##_native, nmemb, size); \
constexpr auto sym(size_t n) noexcept { \
return zpp::thread_stack(sym##_native[n], size); \
}

Definition at line 86 of file thread_stack.hpp.

◆ ZPP_KERNEL_STACK_DEFINE

#define ZPP_KERNEL_STACK_DEFINE (   sym,
  size 
)
Value:
K_KERNEL_STACK_DEFINE(sym##_native,(size)); \
consteval auto sym() noexcept { \
return zpp::thread_stack(sym##_native, size); \
}

Definition at line 74 of file thread_stack.hpp.

◆ ZPP_THREAD_PINNED_STACK_ARRAY_DEFINE

#define ZPP_THREAD_PINNED_STACK_ARRAY_DEFINE (   sym,
  nmemb,
  size 
)
Value:
K_THREAD_PINNED_STACK_ARRAY_DEFINE(sym##_native, nmemb, size); \
constexpr auto sym(size_t n) noexcept { \
return zpp::thread_stack(sym##_native[n], size); \
}

Definition at line 67 of file thread_stack.hpp.

◆ ZPP_THREAD_PINNED_STACK_DEFINE

#define ZPP_THREAD_PINNED_STACK_DEFINE (   sym,
  size 
)
Value:
K_THREAD_PINNED_STACK_DEFINE(sym##_native,(size)); \
consteval auto sym() noexcept { \
return zpp::thread_stack(sym##_native, size); \
}

Definition at line 55 of file thread_stack.hpp.

◆ ZPP_THREAD_STACK_ARRAY_DEFINE

#define ZPP_THREAD_STACK_ARRAY_DEFINE (   sym,
  nmemb,
  size 
)
Value:
K_THREAD_STACK_ARRAY_DEFINE(sym##_native, nmemb, size); \
constexpr auto sym(size_t n) noexcept { \
return zpp::thread_stack(sym##_native[n], size); \
}

Definition at line 61 of file thread_stack.hpp.

◆ ZPP_THREAD_STACK_DEFINE

#define ZPP_THREAD_STACK_DEFINE (   sym,
  size 
)
Value:
K_THREAD_STACK_DEFINE(sym##_native,(size)); \
consteval auto sym() noexcept { \
return zpp::thread_stack(sym##_native, size); \
}

Definition at line 49 of file thread_stack.hpp.