| CIEventHandler | RISC-V specific event handler |
| Cstd::exception | STL class |
| Cstk::test::TestAssertPassed | Throwable class for catching assertions from STK_ASSERT_HANDLER() |
| Cstk::hw::CriticalSection | Nestable, SMP-safe critical section that combines local interrupt masking with a global cross-core spinlock |
| Cstk::hw::CriticalSection::ScopedLock | RAII guard that enters the critical section on construction and exits it on destruction |
| Cstk::hw::HiResClock | High-resolution clock for high-precision measurements |
| Cstk::hw::SpinLock | Atomic busy-wait lock used as the global cross-core synchronisation primitive inside CriticalSection |
| Cstk::IKernel | Interface for the implementation of the kernel of the scheduler. It supports Soft and Hard Real-Time modes |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform > | Concrete implementation of IKernel |
| Cstk::test::KernelMock< TMode, TSize, TStrategy, TPlatform > | |
| Cstk::IKernelService | Interface for the kernel services exposed to the user processes during run-time when Kernel started scheduling the processes |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService | Concrete implementation of IKernelService exposed to running tasks |
| Cstk::test::KernelServiceMock | IKernelService mock |
| Cstk::test::stk::KernelServiceMock | |
| Cstk::IMutex | Interface for mutex synchronization primitive |
| Cstk::sync::Mutex | Recursive mutex primitive that allows the same thread to acquire the lock multiple times |
| Cstk::sync::RWMutex | Reader-Writer Lock synchronization primitive for non-recursive shared and exclusive access |
| Cstk::sync::ScopedCriticalSection | RAII-style low-level synchronization primitive for atomic code execution. Used as building brick for other stk::sync classes, consider using hw::CriticalSection::ScopedLock implementation instead |
| Cstk::sync::SpinLock | Recursive spinlock |
| Cstk::test::MutexMock | |
| Cstk::IMutex::ScopedLock | Locks bound mutex within a scope of execution. Ensures the mutex is always unlocked when leaving the scope, even when exceptions are thrown |
| Cstk::IPlatform | Interface for a platform driver |
| Cstk::PlatformArmCortexM | Concrete implementation of IPlatform driver for the Arm Cortex-M0, M3, M4, M7 processors |
| Cstk::PlatformRiscV | Concrete implementation of IPlatform driver for the Risc-V processors |
| Cstk::PlatformX86Win32 | Concrete implementation of IPlatform driver for the x86 Win32 platform |
| Cstk::test::PlatformTestMock | IPlatform mock |
| Cstk::IPlatform::IEventHandler | Interface for a back-end event handler |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform > | Concrete implementation of IKernel |
| Cstk::IPlatform::IEventOverrider | Interface for a platform event overrider |
| Cstk::IStackMemory | Interface for a stack memory region |
| Cstk::StackMemoryWrapper<(32)> | |
| Cstk::StackMemoryWrapper< STACK_SIZE_MIN > | |
| Cstk::ITask | Interface for a user task |
| Cstk::Task< STACK_SIZE_MIN, _AccessMode > | |
| Cstk::test::TaskMock< ACCESS_USER > | |
| Cstk::test::TaskMock< _AccessMode > | Task mock |
| Cstk::Task< 256, _AccessMode > | |
| Cstk::test::chain::TestTask< _AccessMode > | Chain test task |
| Cstk::test::condvar::MutexReacquiredTask< _AccessMode > | Tests that Wait() atomically releases the mutex and re-acquires it before returning |
| Cstk::test::condvar::NoWaitTimeoutTask< _AccessMode > | Tests that Wait(NO_WAIT) returns false immediately without blocking |
| Cstk::test::condvar::NotifyAllWakesTask< _AccessMode > | Tests that NotifyAll() wakes every waiting task in one call |
| Cstk::test::condvar::NotifyOneOrderTask< _AccessMode > | Tests that NotifyOne() releases waiters in FIFO arrival order |
| Cstk::test::condvar::NotifyOneWakesTask< _AccessMode > | Tests that NotifyOne() wakes exactly one waiting task per call |
| Cstk::test::condvar::PredicateLoopTask< _AccessMode > | Tests the canonical spurious-wakeup-safe predicate loop pattern |
| Cstk::test::condvar::StressTestTask< _AccessMode > | Stress test of ConditionVariable under full five-task contention |
| Cstk::test::condvar::TimeoutExpiresTask< _AccessMode > | Tests that Wait() returns false within the expected time when no notification arrives |
| Cstk::test::event::AutoResetBasicTask< _AccessMode > | Tests auto-reset event: Set() wakes exactly one waiting task then resets |
| Cstk::test::event::InitialStateTask< _AccessMode > | Tests event constructed with initial_state=true |
| Cstk::test::event::ManualResetBasicTask< _AccessMode > | Tests manual-reset event: Set() wakes all waiting tasks and state stays signaled |
| Cstk::test::event::PulseAutoResetTask< _AccessMode > | Tests Pulse() on an auto-reset event |
| Cstk::test::event::PulseManualResetTask< _AccessMode > | Tests Pulse() on a manual-reset event |
| Cstk::test::event::ResetManualTask< _AccessMode > | Tests Reset() on a manual-reset event |
| Cstk::test::event::TimeoutWaitTask< _AccessMode > | Tests Wait() timeout behavior |
| Cstk::test::event::TryWaitTask< _AccessMode > | Tests TryWait() non-blocking poll behavior |
| Cstk::test::eventflags::ClearTask< _AccessMode > | Tests Clear() return value and effect on subsequent Wait() calls |
| Cstk::test::eventflags::GetTask< _AccessMode > | Tests Get() returns a non-destructive snapshot of the flags word |
| Cstk::test::eventflags::InitialFlagsTask< _AccessMode > | Tests EventFlags constructed with a non-zero initial flags word |
| Cstk::test::eventflags::MultiWaiterAllTask< _AccessMode > | Tests WAIT_ALL with multiple concurrent waiters, each requiring the full flag set |
| Cstk::test::eventflags::MultiWaiterAnyTask< _AccessMode > | Tests WAIT_ANY with multiple concurrent waiters watching different flag subsets |
| Cstk::test::eventflags::NoClearTask< _AccessMode > | Tests NO_CLEAR option: matched flags are not consumed after a successful Wait() |
| Cstk::test::eventflags::SetWaitAllTask< _AccessMode > | Tests WAIT_ALL (AND) semantics: all requested flags must be set before unblocking |
| Cstk::test::eventflags::SetWaitAnyTask< _AccessMode > | Tests WAIT_ANY (OR) semantics: a single flag unblocks a waiting task |
| Cstk::test::eventflags::TimeoutTask< _AccessMode > | Tests Wait() timeout when the required flags are never set |
| Cstk::test::eventflags::TryWaitTask< _AccessMode > | Tests TryWait() non-blocking poll |
| Cstk::test::hrt::TestTask< _AccessMode > | HRT test task |
| Cstk::test::mutex::BasicLockUnlockTask< _AccessMode > | Tests basic lock/unlock functionality |
| Cstk::test::mutex::FIFOOrderTask< _AccessMode > | Tests FIFO ordering of waiting threads |
| Cstk::test::mutex::InterTaskCoordinationTask< _AccessMode > | Tests mutex for coordinating work between tasks |
| Cstk::test::mutex::RecursiveDepthTask< _AccessMode > | Tests deep recursive locking |
| Cstk::test::mutex::RecursiveLockTask< _AccessMode > | Tests recursive locking capability |
| Cstk::test::mutex::StressTestTask< _AccessMode > | Stress test with many lock/unlock cycles |
| Cstk::test::mutex::TimedLockTask< _AccessMode > | Tests TimedLock() timeout behavior |
| Cstk::test::mutex::TryLockTask< _AccessMode > | Tests TryLock() non-blocking behavior |
| Cstk::test::pipe::BasicWriteReadTask< _AccessMode > | Tests basic Write()/Read() functionality in producer-consumer arrangement |
| Cstk::test::pipe::BulkWriteReadTask< _AccessMode > | Tests WriteBulk()/ReadBulk() for multi-element block transfers |
| Cstk::test::pipe::GetSizeIsEmptyTask< _AccessMode > | Tests GetSize() and IsEmpty() reflect accurate pipe state |
| Cstk::test::pipe::MultiProducerConsumerTask< _AccessMode > | Tests concurrent multi-producer / multi-consumer throughput |
| Cstk::test::pipe::ReadBlocksWhenEmptyTask< _AccessMode > | Tests that Read() blocks when the pipe is empty and unblocks when data arrives |
| Cstk::test::pipe::StressTestTask< _AccessMode > | Stress test of Pipe under full five-task contention |
| Cstk::test::pipe::TimeoutTask< _AccessMode > | Tests that Write() and Read() return false within the expected time on timeout |
| Cstk::test::pipe::WriteBlocksWhenFullTask< _AccessMode > | Tests that Write() blocks when the pipe is full and unblocks when space is freed |
| Cstk::test::rwmutex::ConcurrentReadersTask< _AccessMode > | Tests that multiple readers can acquire ReadLock() simultaneously |
| Cstk::test::rwmutex::ReadUnlockWakesWriterTask< _AccessMode > | Tests that the last reader releasing wakes a waiting writer immediately |
| Cstk::test::rwmutex::ReaderWriterAlternationTask< _AccessMode > | Tests alternating read and write phases with multiple concurrent readers |
| Cstk::test::rwmutex::StressTestTask< _AccessMode > | Stress test mixing readers and writers under full five-task contention |
| Cstk::test::rwmutex::TimedReadLockTask< _AccessMode > | Tests TimedReadLock() timeout behavior |
| Cstk::test::rwmutex::TimedWriteLockTask< _AccessMode > | Tests TimedLock() timeout behavior for writers |
| Cstk::test::rwmutex::TryReadLockWhileWriterTask< _AccessMode > | Tests TryReadLock() returns false when writer is active; true after release |
| Cstk::test::rwmutex::WriterExclusivityTask< _AccessMode > | Tests that writer Lock()/Unlock() provides mutual exclusion |
| Cstk::test::rwmutex::WriterPriorityTask< _AccessMode > | Tests writer preference policy: new readers are blocked when writers are waiting |
| Cstk::test::rwmutex::WriterStarvationTask< _AccessMode > | Tests writer preference policy: writers don't starve under reader flood |
| Cstk::test::semaphore::BasicSignalWaitTask< _AccessMode > | Tests basic Signal/Wait functionality |
| Cstk::test::semaphore::BoundedBufferTask< _AccessMode > | Tests classic producer/consumer synchronization pattern |
| Cstk::test::semaphore::FIFOOrderTask< _AccessMode > | Tests FIFO ordering of waiting tasks |
| Cstk::test::semaphore::InitialCountTask< _AccessMode > | Tests semaphore constructed with a non-zero initial count |
| Cstk::test::semaphore::SignalBeforeWaitTask< _AccessMode > | Tests that Signal() before Wait() is remembered by the counter |
| Cstk::test::semaphore::StressTestTask< _AccessMode > | Stress test with many interleaved Signal/Wait cycles |
| Cstk::test::semaphore::TimeoutWaitTask< _AccessMode > | Tests Wait() timeout behavior |
| Cstk::test::semaphore::ZeroTimeoutTask< _AccessMode > | Tests Wait(0) (NO_WAIT) non-blocking behavior |
| Cstk::test::sleep::TestTask< _AccessMode > | Sleep test task |
| Cstk::test::spinlock::MutualExclusionTask< _AccessMode > | Tests that Lock()/Unlock() provides mutual exclusion under concurrent access |
| Cstk::test::spinlock::RecursiveLockTask< _AccessMode > | Tests recursive Lock()/Unlock() by the same task |
| Cstk::test::spinlock::RecursiveTryLockTask< _AccessMode > | Tests TryLock() recursive acquisition by the owning task |
| Cstk::test::spinlock::StressTestTask< _AccessMode > | Stress test mixing Lock() and TryLock() under full five-task contention |
| Cstk::test::spinlock::TryLockContendedTask< _AccessMode > | Tests TryLock() returns false immediately when the lock is held by another task |
| Cstk::test::spinlock::TryLockFreeTask< _AccessMode > | Tests TryLock() succeeds immediately when the lock is free |
| Cstk::test::spinlock::UnlockTransferTask< _AccessMode > | Tests that Unlock() correctly transfers the lock to a waiting contender |
| Cstk::test::spinlock::YieldUnderContentionTask< _AccessMode > | Tests that Lock() yields cooperatively when spin count is exhausted |
| Cstk::test::switch_::TestTask< _AccessMode > | Switch test task |
| Cstk::test::timer::MultipleTimersTask< _AccessMode > | Tests that multiple concurrent timers with different periods fire independently |
| Cstk::test::timer::OneShotTimerTask< _AccessMode > | Tests that a one-shot timer fires exactly once at the expected time |
| Cstk::test::timer::PeriodicTimerTask< _AccessMode > | Tests that a periodic timer fires repeatedly at regular intervals |
| Cstk::test::timer::ResetPeriodicTimerTask< _AccessMode > | Tests that Reset() reanchors a periodic timer's deadline from now |
| Cstk::test::timer::RestartTimerTask< _AccessMode > | Tests that Restart() atomically stops and re-starts a timer |
| Cstk::test::timer::SetPeriodTask< _AccessMode > | Tests SetPeriod(): changes reload period without affecting current deadline |
| Cstk::test::timer::StartOrResetTask< _AccessMode > | Tests StartOrReset(): starts if inactive, resets if active+periodic |
| Cstk::test::timer::StopTimerTask< _AccessMode > | Tests that Stop() cancels a pending timer before it fires |
| Cstk::test::timer::StressTestTask< _AccessMode > | Stress test of TimerHost under full five-task contention |
| Cstk::TaskW< _Weight, STACK_SIZE_MIN, _AccessMode > | |
| Cstk::test::TaskMockW< _Weight, _AccessMode > | Task mock for SwitchStrategySmoothWeightedRoundRobin and similar algorithms |
| CTaskWrapper | |
| Cstk::Task< _StackSize, _AccessMode > | Partial implementation of the user task |
| Cstk::TaskW< _Weight, _StackSize, _AccessMode > | Partial implementation of the user task with a compile-time scheduling weight. Use when the kernel is configured with SwitchStrategySmoothWeightedRoundRobin |
| Cstk::time::TimerHost::TimerWorkerTask | The actual task that executes timer callback |
| Cstk::StackMemoryWrapper< _StackSize > | Adapts an externally-owned stack memory array to the IStackMemory interface |
| Cstk::ITaskSwitchStrategy | Interface for a task switching strategy implementation |
| Cstk::SwitchStrategyFixedPriority< 32 > | |
| Cstk::SwitchStrategyMonotonic< MSS_TYPE_RATE > | |
| Cstk::SwitchStrategyMonotonic< MSS_TYPE_DEADLINE > | |
| Cstk::SwitchStrategyEDF | Earliest Deadline First (EDF) scheduling strategy: always selects the runnable task with the least time remaining before its deadline expires |
| Cstk::SwitchStrategyFixedPriority< MAX_PRIORITIES > | Fixed-priority preemptive scheduling strategy with round-robin arbitration within each priority level |
| Cstk::SwitchStrategyMonotonic< _Type > | Monotonic scheduling strategy: Rate-Monotonic (RM) or Deadline-Monotonic (DM), selected at compile time by the _Type template parameter |
| Cstk::SwitchStrategyRoundRobin | Round-Robin task-switching strategy: each runnable task receives one time slice (one tick interval) in turn before the kernel moves to the next task |
| Cstk::SwitchStrategySmoothWeightedRoundRobin | Smooth Weighted Round-Robin (SWRR) task-switching strategy: distributes CPU time proportionally to per-task weights while avoiding execution bursts by spreading selections evenly over time |
| Cstk::ITraceable | Traceable object |
| Cstk::sync::ConditionVariable | Condition Variable primitive for signaling between tasks based on specific predicates |
| Cstk::sync::Event | Binary synchronization event (signaled / non-signaled) primitive |
| Cstk::sync::EventFlags | 32-bit event flags group for multi-flag synchronization between tasks |
| Cstk::sync::Mutex | Recursive mutex primitive that allows the same thread to acquire the lock multiple times |
| Cstk::sync::RWMutex | Reader-Writer Lock synchronization primitive for non-recursive shared and exclusive access |
| Cstk::sync::Semaphore | Counting semaphore primitive for resource management and signaling |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::ExitTrapStack | Storage bundle for the exit trap: a Stack descriptor paired with its backing memory |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::AddTaskRequest | Payload for an in-flight AddTask() request issued by a running task |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::HrtInfo | Per-task Hard Real-Time (HRT) scheduling metadata |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::SrtInfo | Per-task soft real-time (SRT) metadata |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::WaitObject::WaitRequest | Payload stored in the sync object's kernel-side list entry while a task is waiting |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::SleepTrapStack | Storage bundle for the sleep trap: a Stack descriptor paired with its backing memory |
| Cstk::PlatformContext | Base platform context for all platform implementations |
| Cstk::PlatformRiscV::ISpecificEventHandler | |
| Cstk::SchedulabilityCheck | Utility class providing static methods for Worst-Case Response Time (WCRT) schedulability analysis of a monotonic HRT task set |
| Cstk::SchedulabilityCheck::SchedulabilityCheckResult< _TaskCount > | Result of a WCRT schedulability test: overall verdict plus per-task details |
| Cstk::SchedulabilityCheck::TaskCpuLoad | CPU utilisation values for a single task, in whole percent |
| Cstk::SchedulabilityCheck::TaskInfo | Analysis results for a single task: CPU load and computed WCRT |
| Cstk::SchedulabilityCheck::TaskTiming | Execution deadline and scheduling period for a single periodic HRT task, used as input to CalculateWCRT() and GetTaskCpuLoad() |
| Cstk::Stack | Stack descriptor |
| Cstk::StackMemoryDef< _StackSize > | Stack memory type definition |
| Cstk::sync::Pipe< T, N > | Thread-safe FIFO communication pipe for inter-task data passing |
| Cstk::sync::RWMutex::ScopedTimedLock | RAII wrapper for attempting exclusive write access with a timeout |
| Cstk::sync::RWMutex::ScopedTimedReadMutex | RAII wrapper for attempting shared read access with a timeout |
| Cstk::test::AddTaskWhenStartedRelaxCpuContext | |
| Cstk::test::DelayContext | |
| Cstk::test::EDFDynamicSchedulingContext | |
| Cstk::test::hrt::TimeInfo | Task pass time info |
| Cstk::test::HrtTaskDeadlineMissedRelaxCpuContext | |
| Cstk::test::PlatformTestMock::StackInfo | |
| Cstk::test::PrioritySleepRelaxCpuContext | |
| Cstk::test::SleepAllAndWakeRelaxCpuContext | |
| Cstk::test::SleepAndWakeTicklessRelaxCpuContext | |
| Cstk::test::SleepRelaxCpuContext | |
| Cstk::test::SwitchToNextRelaxCpuContext | |
| Cstk::test::SyncWaitRelaxCpuContext | |
| Cstk::test::SyncWaitWakeRelaxCpuContext | |
| Cstk::test::TestContext | Common context for a test suite |
| Cstk::time::PeriodicTrigger | Lightweight periodic trigger: returns true once per configured period when polled |
| Cstk::time::TimerHost | Software timer multiplexer that manages multiple Timer instances on top of a small fixed set of kernel tasks |
| Cstk::time::TimerHost::TimerCommand | |
| Cstk::util::DListEntry< T, _ClosedLoop > | Intrusive doubly-linked list node. Embed this as a base class in any object (T) that needs to participate in a DListHead list |
| Cstk::util::DListEntry< IKernelTask, true > | |
| Cstk::IKernelTask | Scheduling-strategy-facing interface for a kernel task slot |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask | Internal per-slot kernel descriptor that wraps a user ITask instance |
| Cstk::util::DListEntry< ISyncObject, false > | |
| Cstk::ISyncObject | Synchronization object |
| Cstk::sync::ConditionVariable | Condition Variable primitive for signaling between tasks based on specific predicates |
| Cstk::sync::Event | Binary synchronization event (signaled / non-signaled) primitive |
| Cstk::sync::Mutex | Recursive mutex primitive that allows the same thread to acquire the lock multiple times |
| Cstk::sync::Semaphore | Counting semaphore primitive for resource management and signaling |
| Cstk::test::SyncObjectMock | |
| Cstk::util::DListEntry< IWaitObject, false > | |
| Cstk::IWaitObject | Wait object |
| Cstk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::WaitObject | Concrete implementation of IWaitObject, embedded in each KernelTask slot |
| Cstk::util::DListEntry< Timer, false > | |
| Cstk::time::TimerHost::Timer | Abstract base class for a timer managed by TimerHost |
| CCTimerWrapper | |
| Cstk::test::timer::TestTimer | Concrete timer implementation that increments g_ExpiredCount on each expiry |
| Cstk::util::DListHead< T, _ClosedLoop > | Intrusive doubly-linked list container. Manages a collection of DListEntry nodes embedded in host objects of type T |
| Cstk_cv_mem_t | Opaque memory container for a ConditionVariable instance |
| Cstk_cv_t | |
| Cstk_ef_mem_t | Opaque memory container for an EventFlags instance |
| Cstk_ef_t | |
| Cstk_event_mem_t | Opaque memory container for an Event instance |
| Cstk_event_t | |
| Cstk_mutex_mem_t | Opaque memory container for a Mutex instance |
| Cstk_mutex_t | |
| Cstk_periodic_trigger_mem_t | Opaque memory container for a stk_periodic_trigger_t instance |
| Cstk_periodic_trigger_t | |
| Cstk_pipe_mem_t | Opaque memory container for a Pipe instance |
| Cstk_pipe_t | |
| Cstk_rwmutex_mem_t | Opaque memory container for an RWMutex instance |
| Cstk_rwmutex_t | |
| Cstk_sem_mem_t | Opaque memory container for a Semaphore instance |
| Cstk_sem_t | |
| Cstk_spinlock_mem_t | Opaque memory container for SpinLock object |
| Cstk_spinlock_t | |
| Cstk_task_t | |
| Cstk_timer_t | |
| Cstk_timerhost_t | |
| CTaskSlot | |
| CTimerSlot | |