#ifndef LIBWCCL_VALUES_ANNOTATIONMATCH_H #define LIBWCCL_VALUES_ANNOTATIONMATCH_H #include <libwccl/values/match.h> namespace Wccl { class AnnotationMatch : public Match { public: WCCL_VALUE_PREAMBLE explicit AnnotationMatch(Position position, const std::string channel) : position_(position), channel_(channel) { BOOST_ASSERT(position_.get_value() != Position::Nowhere); } explicit AnnotationMatch(int pos,const std::string channel) : position_(pos), channel_(channel) { BOOST_ASSERT(position_.get_value() != Position::Nowhere); } /// Match override. bool empty() const { return false; } /// Match override. Position first_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>& s) const; /// Match override. Position last_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>& s) const; /// Value override std::string to_raw_string() const; private: Position position_; std::string channel_; }; } /* end ns Wccl */ #endif // LIBWCCL_VALUES_ANNOTATIONMATCH_H