YAPOG  0.0.1
Yet Another Pokemon Online Game
IReader.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_IREADER_HPP
2 # define YAPOG_IREADER_HPP
3 
4 # include "YAPOG/Macros.hpp"
5 # include "YAPOG/System/String.hpp"
8 # include "YAPOG/Game/ID.hpp"
9 
10 namespace yap
11 {
12  struct IReaderVisitor;
13  struct IReaderConstVisitor;
14 
16  {
17  virtual ~IReader () {}
18 
19  virtual void Accept (IReaderVisitor& visitor) = 0;
20  virtual void Accept (IReaderConstVisitor& visitor) const = 0;
21 
22  virtual String ReadString () = 0;
23  virtual String ReadString (const String& name) = 0;
24 
25  virtual bool ReadBool () = 0;
26  virtual bool ReadBool (const String& name) = 0;
27 
28  virtual char ReadChar () = 0;
29  virtual char ReadChar (const String& name) = 0;
30 
31  virtual uchar ReadUChar () = 0;
32  virtual uchar ReadUChar (const String& name) = 0;
33 
34  virtual Int16 ReadInt16 () = 0;
35  virtual Int16 ReadInt16 (const String& name) = 0;
36 
37  virtual UInt16 ReadUInt16 () = 0;
38  virtual UInt16 ReadUInt16 (const String& name) = 0;
39 
40  virtual int ReadInt () = 0;
41  virtual int ReadInt (const String& name) = 0;
42 
43  virtual uint ReadUInt () = 0;
44  virtual uint ReadUInt (const String& name) = 0;
45 
46  virtual Int64 ReadInt64 () = 0;
47  virtual Int64 ReadInt64 (const String& name) = 0;
48 
49  virtual UInt64 ReadUInt64 () = 0;
50  virtual UInt64 ReadUInt64 (const String& name) = 0;
51 
52  virtual float ReadFloat () = 0;
53  virtual float ReadFloat (const String& name) = 0;
54 
55  virtual double ReadDouble () = 0;
56  virtual double ReadDouble (const String& name) = 0;
57 
58  virtual Vector2 ReadVector2 () = 0;
59  virtual Vector2 ReadVector2 (const String& name) = 0;
60 
61  virtual ID ReadID () = 0;
62  virtual ID ReadID (const String& name) = 0;
63  };
64 } // namespace yap
65 
66 #endif // YAPOG_IREADER_HPP