/* stash2.h */

#ifndef STASH2_H
#define STASH2_H


struct Stash {
private:
  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:

  void inflate(int increase);

public:
  Stash(int size);
  ~Stash();
  int add(const void *element);
  void *fetch(int index);
  int count();
};

#endif
