LMMS
Loading...
Searching...
No Matches
stack.h File Reference
#include <assert.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  SerdStack

Macros

#define SERD_STACK_BOTTOM   sizeof(void*)
#define SERD_STACK_BOTTOM   sizeof(void*)

Functions

static SerdStack serd_stack_new (size_t size)
static bool serd_stack_is_empty (SerdStack *stack)
static void serd_stack_free (SerdStack *stack)
static voidserd_stack_push (SerdStack *stack, size_t n_bytes)
static void serd_stack_pop (SerdStack *stack, size_t n_bytes)
static voidserd_stack_push_aligned (SerdStack *stack, size_t n_bytes, size_t align)
static void serd_stack_pop_aligned (SerdStack *stack, size_t n_bytes)

Macro Definition Documentation

◆ SERD_STACK_BOTTOM [1/2]

#define SERD_STACK_BOTTOM   sizeof(void*)

An offset to start the stack at. Note 0 is reserved for NULL.

◆ SERD_STACK_BOTTOM [2/2]

#define SERD_STACK_BOTTOM   sizeof(void*)

An offset to start the stack at. Note 0 is reserved for NULL.

Function Documentation

◆ serd_stack_free()

void serd_stack_free ( SerdStack * stack)
inlinestatic

◆ serd_stack_is_empty()

bool serd_stack_is_empty ( SerdStack * stack)
inlinestatic

◆ serd_stack_new()

SerdStack serd_stack_new ( size_t size)
inlinestatic

◆ serd_stack_pop()

void serd_stack_pop ( SerdStack * stack,
size_t n_bytes )
inlinestatic

◆ serd_stack_pop_aligned()

void serd_stack_pop_aligned ( SerdStack * stack,
size_t n_bytes )
inlinestatic

◆ serd_stack_push()

void * serd_stack_push ( SerdStack * stack,
size_t n_bytes )
inlinestatic

◆ serd_stack_push_aligned()

void * serd_stack_push_aligned ( SerdStack * stack,
size_t n_bytes,
size_t align )
inlinestatic