From 316f37d6f95adc389b760d71ceecb80e059929ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <Pawel.Kedzia@pwr.wroc.pl>
Date: Thu, 17 Nov 2011 12:11:21 +0100
Subject: [PATCH] Added constructor to Relation

---
 libcorpus2/relation.cpp | 10 ++++++++++
 libcorpus2/relation.h   | 12 +++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/libcorpus2/relation.cpp b/libcorpus2/relation.cpp
index 8e22ca9..91074b1 100644
--- a/libcorpus2/relation.cpp
+++ b/libcorpus2/relation.cpp
@@ -14,6 +14,7 @@ or FITNESS FOR A PARTICULAR PURPOSE.
 	See the LICENSE and COPYING files for more details.
 */
 
+#include <boost/make_shared.hpp>
 #include <libcorpus2/relation.h>
 
 namespace Corpus2 {
@@ -25,6 +26,15 @@ Relation::Relation(const std::string& name,
 {
 }
 
+Relation::Relation(const std::string& name,
+				   const DirectionPoint& from,
+				   const DirectionPoint& to)
+	: name_(name),
+	from_(boost::make_shared<const DirectionPoint>(from)),
+	to_(boost::make_shared<const DirectionPoint>(to))
+{
+}
+
 Relation::~Relation()
 {
 }
diff --git a/libcorpus2/relation.h b/libcorpus2/relation.h
index e9fbcb6..aea3680 100644
--- a/libcorpus2/relation.h
+++ b/libcorpus2/relation.h
@@ -81,6 +81,16 @@ public:
 			 const boost::shared_ptr<const DirectionPoint> from,
 			 const boost::shared_ptr<const DirectionPoint> to);
 
+	/**
+	 * Makes directed relation
+	 * @param name Name of the relation
+	 * @param from Source of relation direction
+	 * @param to Target of relation direction
+	 */
+	Relation(const std::string& name,
+			 const DirectionPoint& from,
+			 const DirectionPoint& to);
+
 	~Relation();
 
 	/// Accessor to "from" direction point
@@ -100,7 +110,7 @@ public:
 
 private:
 	/// Direction name
-	const std::string& name_;
+	const std::string name_;
 
 	/// Direction points: from and to
 	const boost::shared_ptr<const DirectionPoint> from_;
-- 
GitLab