-
Adam Wardynski authored
It is coherent now with the SentenceContext::is_inside(int abs_pos) - SentenceContext::is_inside(Position pos) is added, while Position::is_inside(SentenceContext) is removed
29940c41
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 */