1 #ifndef BLANK_IO_TOKENSTREAMREADER_HPP_
2 #define BLANK_IO_TOKENSTREAMREADER_HPP_
5 #include "Tokenizer.hpp"
14 class TokenStreamReader {
17 TokenStreamReader(std::istream &);
23 void Skip(Token::Type);
25 void ReadBoolean(bool &);
26 void ReadIdentifier(std::string &);
27 void ReadNumber(float &);
28 void ReadNumber(int &);
29 void ReadNumber(unsigned long &);
30 void ReadString(std::string &);
32 void ReadVec(glm::vec2 &);
33 void ReadVec(glm::vec3 &);
34 void ReadVec(glm::vec4 &);
36 void ReadVec(glm::ivec2 &);
37 void ReadVec(glm::ivec3 &);
38 void ReadVec(glm::ivec4 &);
40 void ReadQuat(glm::quat &);
45 unsigned long GetULong();
50 void Assert(Token::Type);
51 Token::Type GetType() const noexcept;
52 const std::string &GetValue() const noexcept;