/*
 * shuffle-private.hpp
 *
 * Predeclarations for local class and functions used in shuffle.cpp.
 * See shuffle.cpp for details.  (This file could be generated automatically,
 * and probably should be.  You might want to think about how you'd go about
 * doing that.)
 *
 */

struct ShuffleOptions;

static ShuffleOptions getOptions(int& argNo, int argc, const char* argv[]);

static void usage(const char* progname);

static void readFile(istream& in, LineShuffler& bag, bool addLineNumbers);

template <typename PRINTABLE> static string stringify(const PRINTABLE& x);

static int doShuffling(const ShuffleOptions& options, int argNo, 
		       int argc, const char* argv[]);

