From 040683b22e43758d229a350af4efe6da95953f4e Mon Sep 17 00:00:00 2001 From: Adam Wardynski <award@.(B-4.4.46a)> Date: Thu, 13 Jan 2011 12:02:33 +0100 Subject: [PATCH] Small tweaks to Delete and Select code. --- libwccl/ops/actions/delete.cpp | 6 ++---- libwccl/ops/actions/select.cpp | 7 +++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/libwccl/ops/actions/delete.cpp b/libwccl/ops/actions/delete.cpp index e6b8b3e..df2cd22 100644 --- a/libwccl/ops/actions/delete.cpp +++ b/libwccl/ops/actions/delete.cpp @@ -1,5 +1,4 @@ #include <libwccl/ops/actions/delete.h> -#include <libwccl/ops/functions/constant.h> #include <libpwrutils/foreach.h> #include <sstream> @@ -8,13 +7,12 @@ namespace Wccl { Bool Delete::execute(const ActionExecContext& context) const { Bool changed(false); - const boost::shared_ptr<const Position> pos = pos_->apply(context); - int abs_pos = context.sentence_context().get_abs_position(*pos); + int abs_pos = context.sentence_context().get_abs_position(*pos_->apply(context)); if (context.sentence_context().is_inside(abs_pos)) { Corpus2::Token& token = *context.sentence_context().at(abs_pos); std::vector<Corpus2::Lexeme> original(token.lexemes()); std::vector<Corpus2::Lexeme> remaining; - token.lexemes() = remaining; + token.lexemes().clear(); foreach (const Corpus2::Lexeme& lexeme, original) { token.add_lexeme(lexeme); if (!condition_->apply(context)->get_value()) { diff --git a/libwccl/ops/actions/select.cpp b/libwccl/ops/actions/select.cpp index 507e8cd..cd746b2 100644 --- a/libwccl/ops/actions/select.cpp +++ b/libwccl/ops/actions/select.cpp @@ -1,5 +1,5 @@ #include <libwccl/ops/actions/select.h> -#include <libwccl/ops/functions/constant.h> +#include <libpwrutils/foreach.h> #include <sstream> namespace Wccl { @@ -7,13 +7,12 @@ namespace Wccl { Bool Select::execute(const ActionExecContext& context) const { Bool changed(false); - const boost::shared_ptr<const Position> pos = pos_->apply(context); - int abs_pos = context.sentence_context().get_abs_position(*pos); + int abs_pos = context.sentence_context().get_abs_position(*pos_->apply(context)); if (context.sentence_context().is_inside(abs_pos)) { Corpus2::Token& token = *context.sentence_context().at(abs_pos); std::vector<Corpus2::Lexeme> original(token.lexemes()); std::vector<Corpus2::Lexeme> remaining; - token.lexemes() = remaining; + token.lexemes().clear(); foreach (const Corpus2::Lexeme& lexeme, original) { token.add_lexeme(lexeme); if (condition_->apply(context)->get_value()) { -- GitLab