From 9c0dc7ebe448331ecdc330fb9a37a62012eaf5f0 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sun, 24 Aug 2014 19:26:09 +0200 Subject: [PATCH] operator<< ostream Token --- alib2data/src/sax/Token.cpp | 24 ++++++++++++++++++++++++ alib2data/src/sax/Token.h | 7 +++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/alib2data/src/sax/Token.cpp b/alib2data/src/sax/Token.cpp index e551e1a6df..471d6fa892 100644 --- a/alib2data/src/sax/Token.cpp +++ b/alib2data/src/sax/Token.cpp @@ -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 */ diff --git a/alib2data/src/sax/Token.h b/alib2data/src/sax/Token.h index 6987699f7f..2257c76489 100644 --- a/alib2data/src/sax/Token.h +++ b/alib2data/src/sax/Token.h @@ -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 */ -- GitLab