comparison interps/rail/src/lib.h @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
comparison
equal deleted inserted replaced
995:6883f5911eb7 996:859f9b4339e6
1 // lib.h
2
3 #ifndef LIB_H_RAIL_1
4 #define LIB_H_RAIL_1
5
6 #include <vector>
7 #include <list>
8 #include <string>
9 #include <map>
10 #include <sstream>
11 #include <iostream>
12 #include <fstream>
13
14 class InternalException : public std::exception
15 {
16 public:
17 explicit InternalException(std::string const & newLabel)
18 : label(newLabel)
19 {
20 }
21
22 virtual ~InternalException() throw() {}
23
24 virtual char const * what() const throw()
25 {
26 return label.c_str();
27 }
28 private:
29 std::string label;
30 };
31
32 class ArgumentException : public std::exception
33 {
34 public:
35 explicit ArgumentException(std::string const & newLabel)
36 : label(newLabel)
37 {
38 }
39
40 virtual ~ArgumentException() throw() {}
41
42 virtual char const * what() const throw()
43 {
44 return label.c_str();
45 }
46 private:
47 std::string label;
48 };
49
50 std::string intToString(int num);
51
52 class Binding;
53
54 extern Binding NIL;
55
56 namespace args
57 {
58 extern bool isBatch;
59 extern std::ostream * output;
60 extern std::istream * input;
61 extern std::list<std::string> sourceFiles;
62 }
63
64 #endif