#ifndef SWIG_LIBWCCL_TAGRULESEQUENCE_I #define SWIG_LIBWCCL_TAGRULESEQUENCE_I %module libccltagrulesequence %{ #include <libwccl/ops/tagrulesequence.h> %} %include "libcclbool.i" %include "libccltagrule.i" %include "libcclexpression.i" %include "libcorpus/libcorpussentence.i" %include "std_string.i" %include "std_vector.i" %include "boost_shared_ptr.i" %template(StdVectorTagRule) std::vector<TagRule>; %template(TagRuleSequencPtr) boost::shared_ptr<Wccl::TagRuleSequence>; namespace Wccl { class TagRuleSequence : public std::vector<TagRule>, public Expression { public: TagRuleSequence(const std::vector<TagRule>& rules); TagRuleSequence(); /* --------------------------------------------------------------------- */ %rename(OpFunTagRuleSequence) operator()( const shared_ptr<Corpus2::Sentence>& sentence ); Bool operator()(const shared_ptr<Corpus2::Sentence>& sentence); /* --------------------------------------------------------------------- */ Bool execute_once(const shared_ptr<Corpus2::Sentence>& sentence); int execute_until_done(const shared_ptr<Corpus2::Sentence>& sentence, int max_iter = 1000); std::string to_string(const Corpus2::Tagset& tagset) const; }; } using namespace boost; using namespace Wccl; using namespace std; #endif /* SWIG_LIBWCCL_TAGRULESEQUENCE_I */