#ifndef SWIG_LIBWCCL_MATCHDATA_I #define SWIG_LIBWCCL_MATCHDATA_I %module libcclmatchdata %{ #include <libwccl/values/matchdata.h> %} %include "boost_shared_ptr.i" %include "libcclmatch.i" %include "libcorpus/libcorpusannotatedsentence.i" %template(MatchDataPtr) boost::shared_ptr<Wccl::MatchData>; namespace Wccl { class MatchData { public: ~MatchData(); /* --------------------------------------------------------------------- */ virtual bool empty() const = 0; virtual Position first_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>&) const = 0; virtual Position last_token(const boost::shared_ptr<Corpus2::AnnotatedSentence>&) const = 0; /* --------------------------------------------------------------------- */ virtual const boost::shared_ptr<Match>& submatch(size_t); /* --------------------------------------------------------------------- */ boost::shared_ptr<MatchData> clone() const; /* --------------------------------------------------------------------- */ virtual std::string to_raw_string() const = 0; }; } using namespace std; using namespace Wccl; using namespace boost; #endif /* SWIG_LIBWCCL_MATCHDATA_I */