#ifndef __ARGUMENTS_H__
#define __ARGUMENTS_H__
#include <memory>
#include "cursor.h"
#include "output.h"
#include "input.h"
#include "rng.h"

typedef unsigned int feature;

// IMPORTANT: Errors include the index that caused them (or'ed into them)
feature proc_args(int argc, char **argv,
                  std::unique_ptr<cursor>  &curse,
                  std::unique_ptr<input>   &in,
                  std::unique_ptr<output>  &out,
                  std::unique_ptr<RNG>     &rng,
                  std::ifstream &data);

void panic_args(feature panic);

void print_list(feature which);

#endif
