Skip to content
Snippets Groups Projects
Select Git revision
  • 472bb136cda4b707585217c5f288e74f98d6c3f4
  • master default protected
  • fix-words-ann
  • wccl-rules-migration
  • develop
5 results

position.cpp

Blame
  • position.cpp 709 B
    #include <libwccl/values/position.h>
    #include <libwccl/sentencecontext.h>
    #include <boost/lexical_cast.hpp>
    
    namespace Wccl {
    
    const char* Position::type_name = "Position";
    
    std::string Position::to_raw_string() const
    {
    	switch (val_) {
    	case Nowhere:
    		return "nowhere";
    	case Begin:
    		return "begin";
    	case End:
    		return "end";
    	default:
    		return boost::lexical_cast<std::string>(val_);
    	}
    }
    
    std::string Position::var_repr(const std::string &var_name)
    {
    	std::stringstream ss;
    	ss << "$" << var_name;
    	return ss.str();
    }
    
    bool Position::equals(const Position& other, const SentenceContext& context) const
    {
    	return context.get_abs_position(*this) == context.get_abs_position(other);
    }
    
    } /* end ns Wccl */