/* stash.h */

#ifndef STASH_H
#define STASH_H


struct Stash {
  // Members:
  int size;                  // Size of each space
  int quantity;              // Number of storage spaces
  int next;                  // Next empty space
  unsigned char* storage;    // Dynamically allocated array of bytes:

  // Member functions:
  void initialize(int size);
  void cleanup();
  int add(const void *element);
  void *fetch(int index);
  int count();
  void inflate(int increase);
};

#endif
