#ifndef SWIG_LIBWCCL_MATCHRULESEQUENCE_I #define SWIG_LIBWCCL_MATCHRULESEQUENCE_I %module libcclmatchrulesequence %{ #include <libwccl/ops/matchrulesequence.h> %} %include "libcclmatchrule.i" %include "libcclexpression.i" %include "libcorpus/libcorpusannotatedsentence.i" %include "std_string.i" %include "std_vector.i" %include "boost_shared_ptr.i" %template(MatchRuleVector) std::vector<MatchRule>; namespace Wccl { class MatchRuleSequence : public std::vector<MatchRule>, public Expression { public: MatchRuleSequence(); MatchRuleSequence(const std::vector<MatchRule>& rules); /* --------------------------------------------------------------------- */ %rename(OpFunMatchRuleSequence) operator()(const shared_ptr<Corpus2::AnnotatedSentence>& sentence); void operator()(const shared_ptr<Corpus2::AnnotatedSentence>& sentence); /* --------------------------------------------------------------------- */ void apply_all(const shared_ptr<Corpus2::AnnotatedSentence>& sentence); /* --------------------------------------------------------------------- */ std::string to_string(const Corpus2::Tagset& tagset) const; }; } using namespace boost; using namespace Wccl; using namespace std; #endif /* SWIG_LIBWCCL_MATCHRULESEQUENCE_I */