Sha256: d685ea7cd47be0465851ce4d54fc8fe953f8b8923ec0e87033bd9cb70cee44fe

Contents?: true

Size: 874 Bytes

Versions: 4

Compression:

Stored size: 874 Bytes

Contents

#ifndef _INC_ROTOSCOPE_STACK_H_
#define _INC_ROTOSCOPE_STACK_H_
#include <stdbool.h>
#include "tracepoint.h"

#define UNKNOWN_STR "<UNKNOWN>"

typedef struct rs_stack_frame_t {
  struct rs_tracepoint_t tp;
  bool blacklisted;
} rs_stack_frame_t;

typedef struct {
  int capacity;
  int top;
  rs_stack_frame_t *contents;
} rs_stack_t;

void rs_stack_init(rs_stack_t *stack, unsigned int capacity);
void rs_stack_reset(rs_stack_t *stack);
void rs_stack_free(rs_stack_t *stack);
rs_stack_frame_t rs_stack_push(rs_stack_t *stack, rs_tracepoint_t trace, bool backlisted);
bool rs_stack_empty(rs_stack_t *stack);
bool rs_stack_full(rs_stack_t *stack);
rs_stack_frame_t rs_stack_pop(rs_stack_t *stack);
rs_stack_frame_t *rs_stack_peek(rs_stack_t *stack);
rs_stack_frame_t *rs_stack_below(rs_stack_t *stack, rs_stack_frame_t *frame);
void rs_stack_mark(rs_stack_t *stack);

#endif

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rotoscope-0.3.0.pre.7 ext/rotoscope/stack.h
rotoscope-0.3.0.pre.6 ext/rotoscope/stack.h
rotoscope-0.3.0.pre.5 ext/rotoscope/stack.h
rotoscope-0.3.0.pre.4 ext/rotoscope/stack.h