Skip to content
Snippets Groups Projects
Commit 9c0dc7eb authored by Jan Trávníček's avatar Jan Trávníček
Browse files

operator<< ostream Token

parent c17b2425
No related branches found
No related tags found
No related merge requests found
......@@ -31,4 +31,28 @@ bool Token::operator==(const Token& other) const {
return data == other.data && type == other.type;
}
 
std::ostream& operator<<(std::ostream& os, const Token& token) {
os << "(Token ";
switch(token.type) {
case Token::TokenType::START_ELEMENT:
os << "START_ELEMENT ";
break;
case Token::TokenType::END_ELEMENT:
os << "END_ELEMENT ";
break;
case Token::TokenType::START_ATTRIBUTE:
os << "START_ATTRIBUTE ";
break;
case Token::TokenType::END_ATTRIBUTE:
os << "END_ATTRIBUTE ";
break;
case Token::TokenType::CHARACTER:
os << "CHARACTER ";
break;
}
os << token.data;
os << ")";
return os;
}
} /* namespace sax */
......@@ -9,6 +9,7 @@
#define TOKEN_H_
 
#include <string>
#include <ostream>
 
namespace sax {
 
......@@ -44,10 +45,8 @@ public:
 
bool operator==(const Token& other) const;
 
friend std::ostream& operator<<(std::ostream& os, const Token& token) {
os << token.data; //TODO
return os;
}
friend std::ostream& operator<<(std::ostream& os, const Token& token);
};
 
} /* namespace sax */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment