diff --git a/swig/libcclmatch.i b/swig/libcclmatch.i index 1e3d64bcfd0cbe5317cceb72e1768eed4c1bd8e1..b1a0ccda066a1044c3bd32946799af8b09b8f99c 100644 --- a/swig/libcclmatch.i +++ b/swig/libcclmatch.i @@ -3,22 +3,24 @@ %module libcclbool %{ - #include <libwccl/values/value.h> #include <libwccl/values/match.h> %} -%include "std_string.i" %include "libcclvalue.i" -%include "libcclposition.i" -// %include "libcclmatchdata.i" -// %include "libccltokenmatch.i" +%include "libcclmatchdata.i" +%include "libccltokenmatch.i" +%include "libcclannotationmatch.i" +%include "libcclmatchvector.i" %include "libcorpus/libcorpusannotatedsentence.i" +%include "std_string.i" +%include "boost_shared_ptr.i" + %feature("notabstract") Wccl::Match; -namespace Wccl { - // class MatchData; +%template (MatchPtr) boost::shared_ptr<Wccl::Match>; +namespace Wccl { class Match : public Value { public: const char* get_type_name() const { return type_name; } @@ -26,29 +28,39 @@ namespace Wccl { std::string make_var_repr(const std::string &var_name) const { return var_repr(var_name); } + /* --------------------------------------------------------------------- */ Match(); - // Match(const boost::shared_ptr<MatchData>& data); - // Match(const boost::shared_ptr<TokenMatch>& data); - // Match(const boost::shared_ptr<AnnotationMatch>& data); - // Match(const boost::shared_ptr<MatchVector>& data); - - // Match(const MatchData& data); - // Match(const Match& match); + /* --------------------------------------------------------------------- */ - // %rename(MatchEq) operator=(const Match& match); - // Match& operator=(const Match& match); + Match(const boost::shared_ptr<MatchData>& data); + Match(const boost::shared_ptr<TokenMatch>& data); + Match(const boost::shared_ptr<AnnotationMatch>& data); + Match(const boost::shared_ptr<MatchVector>& data); + /* --------------------------------------------------------------------- */ + + Match(const MatchData& data); + Match(const Match& match); + /* --------------------------------------------------------------------- */ + + %rename(OperatorEqMatch) *::operator=(const Match& other); + /* --------------------------------------------------------------------- */ // const MatchData& get_value() const; - // MatchData& get_value(); + MatchData& get_value(); + /* --------------------------------------------------------------------- */ + + void set_value(const MatchData& m); + /* --------------------------------------------------------------------- */ - // void set_value(const MatchData& m); - // bool empty() const; + bool empty() const; + /* --------------------------------------------------------------------- */ - // virtual Position first_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>&) const; - // virtual Position last_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>&) const; + int first_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>& s) const; + int last_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>& s) const; + /* --------------------------------------------------------------------- */ - // std::string to_raw_string() const; + std::string to_raw_string() const; }; }