From 2586bf26f191a9b57d5f161993c1667b0be90439 Mon Sep 17 00:00:00 2001
From: Adam Wardynski <award@.(B-4.4.46a)>
Date: Fri, 26 Nov 2010 19:29:32 +0100
Subject: [PATCH] Adding Token access via Position object to SentenceContext.

---
 libwccl/sentencecontext.h | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/libwccl/sentencecontext.h b/libwccl/sentencecontext.h
index fc69166..6ff68a3 100644
--- a/libwccl/sentencecontext.h
+++ b/libwccl/sentencecontext.h
@@ -74,24 +74,34 @@ public:
 
 	/// Token access convenience function - const.
 	/// Will return NULL if the passed position is not valid in this Sentence
-	const Corpus2::Token* at(int position) const {
+	const Corpus2::Token* at(int abs_pos) const {
 		if (is_current_inside()) {
-			return get_sentence()[position];
+			return get_sentence()[abs_pos];
 		} else {
 			return NULL;
 		}
 	}
 
+	/// Token access const function overload that takes a Position object
+	const Corpus2::Token* at(const Position& position) const {
+		return at(get_abs_position(position));
+	}
+
 	/// Token access convenience function.
 	/// Will return NULL if the passed position is not valid in this Sentence
-	Corpus2::Token* at(int position) {
+	Corpus2::Token* at(int abs_pos) {
 		if (is_current_inside()) {
-			return get_sentence()[position];
+			return get_sentence()[abs_pos];
 		} else {
 			return NULL;
 		}
 	}
 
+	/// Token access function overload that takes a Position object
+	Corpus2::Token* at(const Position& position) {
+		return at(get_abs_position(position));
+	}
+
 	/// Current token access shorthand, const. @see at
 	const Corpus2::Token* current() const {
 		return at(position_);
-- 
GitLab