X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fio%2FTokenStreamReader.hpp;h=7b5a8ff74da6aeb54ceefe9a139b09062df2fd63;hb=5bc84befaa51b81f8f4cfc7d447c553bb471953a;hp=c702703f6915c3e201bf71f759afb5b25794e966;hpb=dcd54cacda98c2c0f7cf0c7a9131fb858d8ee10a;p=blank.git diff --git a/src/io/TokenStreamReader.hpp b/src/io/TokenStreamReader.hpp index c702703..7b5a8ff 100644 --- a/src/io/TokenStreamReader.hpp +++ b/src/io/TokenStreamReader.hpp @@ -39,15 +39,23 @@ public: void ReadQuat(glm::quat &); + // the Get* functions advance to the next token + // the As* functions try to cast the current token + // if the value could not be converted, a std::runtime_error is thrown + bool GetBool(); + bool AsBool() const; float GetFloat(); + float AsFloat() const; int GetInt(); + int AsInt() const; unsigned long GetULong(); + unsigned long AsULong() const; private: void SkipComments(); - void Assert(Token::Type); + void Assert(Token::Type) const; Token::Type GetType() const noexcept; const std::string &GetValue() const noexcept;