view interps/rail/src/lib.h @ 5674:91d4a5b788c9

<tswett> echo \'[11,11,11,15,15,23,12],[5,5,5,3,53,45,16,26,00,20,15,16,22,25,45,91,32,11,15,27,06,01,11,01,47,22,30,13,43,21,11,13,29,61,65,17,19,12,28,17,11,01,23,20,16,20,81,18,32,25,58,22.,1985,10.301350435,1555466973690094680980000956080767,13720946704494913791885940266665466978579582015128512190078...\' > wisdom/code
author HackBot
date Wed, 24 Jun 2015 14:47:46 +0000
parents 859f9b4339e6
children
line wrap: on
line source

// lib.h

#ifndef LIB_H_RAIL_1
#define LIB_H_RAIL_1

#include <vector>
#include <list>
#include <string>
#include <map>
#include <sstream>
#include <iostream>
#include <fstream>

class InternalException : public std::exception
{
public:
  explicit InternalException(std::string const & newLabel)
    : label(newLabel)
  {
  }

  virtual ~InternalException() throw() {}

  virtual char const * what() const throw()
  {
    return label.c_str();
  }
private:
  std::string label;
};

class ArgumentException : public std::exception
{
public:
  explicit ArgumentException(std::string const & newLabel)
    : label(newLabel)
  {
  }

  virtual ~ArgumentException() throw() {}

  virtual char const * what() const throw()
  {
    return label.c_str();
  }
private:
  std::string label;
};

std::string intToString(int num);

class Binding;

extern Binding NIL;

namespace args
{
  extern bool isBatch;
  extern std::ostream * output;
  extern std::istream * input;
  extern std::list<std::string> sourceFiles;
}

#endif