From 85ec635b4bd6980ccfd6580ead46041751e22251 Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Thu, 7 Apr 2011 13:58:13 +0200
Subject: [PATCH] add valid_variable_names accesor to ParsedExpression

---
 libwccl/ops/parsedexpression.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/libwccl/ops/parsedexpression.h b/libwccl/ops/parsedexpression.h
index bf496b8..1982c8b 100644
--- a/libwccl/ops/parsedexpression.h
+++ b/libwccl/ops/parsedexpression.h
@@ -139,6 +139,11 @@ public:
 	 */
 	boost::shared_ptr<ParsedExpression> clone_clean_ptr() const;
 	
+	/**
+	 * @returns vector of strings corresponfing to valid variable names
+	 * in this operator.
+	 */
+	std::vector<std::string> valid_variable_names() const;
 
 	/**
 	 * @returns String with representation of all held variables,
@@ -232,6 +237,17 @@ boost::shared_ptr<ParsedExpression> ParsedExpression::clone_clean_ptr() const {
 	return copy;
 }
 
+inline
+std::vector<std::string> ParsedExpression::valid_variable_names() const {
+	std::vector<std::string> valid;
+	typedef std::pair<std::string, boost::shared_ptr<Wccl::Value> > v_t;
+	// ja chcÄ™ c++1x i auto/decltype
+	foreach (const v_t& v, variables_->get_all<Wccl::Value>()) {
+		valid.push_back(v.first);
+	}
+	return valid;
+}
+
 inline
 std::ostream& ParsedExpression::dump_variables(
 		std::ostream &ostream,
-- 
GitLab