diff --git a/swig/libcorpussentence.i b/swig/libcorpussentence.i new file mode 100644 index 0000000000000000000000000000000000000000..89f3c0a9c1b715911d3dcb21630cf94be61518f9 --- /dev/null +++ b/swig/libcorpussentence.i @@ -0,0 +1,46 @@ +#ifndef SWIG_LIBCORPUS2_SENTENCE_I +#define SWIG_LIBCORPUS2_SENTENCE_I + +%module libcorpussentence +%{ + #include <libcorpus2/sentence.h> +%} + +%include "libcorpustoken.i" + +%include "std_string.i" +%include "std_vector.i" + +%include "boost_shared_ptr.i" + +%feature("notabstract") Corpus2::Sentence; + +%rename(__op_get__) Corpus2::Sentence::operator[](size_t idx) const; + +namespace Corpus2 { + class Sentence { + public: + Sentence(); + virtual ~Sentence(); + + virtual boost::shared_ptr<Sentence> clone_shared() const; + + void release_tokens(); + bool empty() const; + size_t size() const; + Token* operator[](size_t idx); + const std::vector<Token*>& tokens() const; + std::vector<Token*>& tokens(); + virtual void append(Token* t); + const Token* first_token() const; + + }; +} + +%template(SentenceSharedPtr) boost::shared_ptr<Corpus2::Sentence>; + +using namespace boost; +using namespace std; +using namespace Corpus2; + +#endif /* SWIG_LIBCORPUS2_SENTENCE_I */