From 6ab15e8ffe66a91fd998f39002db3cffcd20fdd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl> Date: Mon, 4 Apr 2011 13:41:38 +0200 Subject: [PATCH] Added wrapper for Wccl::ParsedExpression --- swig/libcclparsedexpression.i | 42 +++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/swig/libcclparsedexpression.i b/swig/libcclparsedexpression.i index 6b224f7..12e3cfb 100644 --- a/swig/libcclparsedexpression.i +++ b/swig/libcclparsedexpression.i @@ -6,33 +6,47 @@ #include <libwccl/ops/parsedexpression.h> %} +%include "libcclvalue.i" + +%include "libcclmatch.i" +%include "libcclbool.i" +%include "libccltset.i" +%include "libcclstrset.i" +%include "libcclposition.i" %include "libcclexpression.i" + %include "std_string.i" +%include "boost_shared_ptr.i" + +%rename(__op_get__) Wccl::ParsedExpression::operator[](const std::string& var_name) const; namespace Wccl { class ParsedExpression : public Expression { public: - // TODO - // const Value& operator[](const std::string& var_name) const; + const Value& operator[](const std::string& var_name) const; - // template<class T> - // const T& get(const std::string& var_name) const; + template<class T> T& get(const std::string& var_name); + %template(get_bool) get<Bool>; + %template(get_tset) get<TSet>; + %template(get_strset) get<StrSet>; + %template(get_position) get<Position>; + %template(get_match) get<Match>; - // template<class T> - // T& get(const std::string& var_name) - - // template<class T> - // void set(const std::string& var_name, const T& value); + template<class T> void set(const std::string& var_name, const T& value); + %template(set_bool) set<Bool>; + %template(set_tset) set<TSet>; + %template(set_strset) set<StrSet>; + %template(set_position) set<Position>; + %template(set_match) set<Match>; void clean(); - // boost::shared_ptr<ParsedExpression> clone_ptr() const; - // boost::shared_ptr<ParsedExpression> clone_clean_ptr() const; + boost::shared_ptr<ParsedExpression> clone_ptr() const; + boost::shared_ptr<ParsedExpression> clone_clean_ptr() const; std::string variables_string(const Corpus2::Tagset& tagset) const; - // std::ostream& dump_variables(std::ostream& ostream, const Corpus2::Tagset& tagset) const; + std::ostream& dump_variables(std::ostream& ostream, const Corpus2::Tagset& tagset) const; protected: - // explicit ParsedExpression(const Variables& variables); - // boost::shared_ptr<Variables> variables_; + explicit ParsedExpression(const Variables& variables); virtual ParsedExpression* clone_internal() const = 0; }; } -- GitLab