From 19e5bc736397718b2887dfb33c1b9d5782d6c015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl> Date: Mon, 4 Apr 2011 14:30:17 +0200 Subject: [PATCH] Added wrapper for Corpus2::Token --- swig/libcorpustoken.i | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 swig/libcorpustoken.i diff --git a/swig/libcorpustoken.i b/swig/libcorpustoken.i new file mode 100644 index 0000000..90a4736 --- /dev/null +++ b/swig/libcorpustoken.i @@ -0,0 +1,52 @@ +#ifndef SWIG_LIBCORPUS2_TOKEN_I +#define SWIG_LIBCORPUS2_TOKEN_I + +%module libcorpustoken +%{ + #include <unicode/unistr.h> + #include <libcorpus2/token.h> +%} + +%include "libcorpustagset.i" + +%include "std_pair.i" +%include "std_string.i" +%include "std_vector.i" + +%feature("notabstract") Corpus2::Token; + +%rename(__op_eq__) Corpus2::Token::operator==(const Token& other) const; + +namespace Corpus2 { + class Token { + public: + Token(); + Token(const UnicodeString& orth, PwrNlp::Whitespace::Enum wa); + Token* clone() const; + + const UnicodeString& orth() const; + std::string orth_utf8() const; + void set_orth(const UnicodeString& orth); + const PwrNlp::Whitespace::Enum& wa() const; + void set_wa(const PwrNlp::Whitespace::Enum& wa); + const std::vector<Lexeme>& lexemes() const; + std::vector<Lexeme>& lexemes(); + void add_lexeme(const Lexeme& lex); + const Lexeme& get_preferred_lexeme(const Tagset& tagset) const; + size_t get_preferred_lexeme_index(const Tagset& tagset) const; + void make_ign(const Tagset& tagset); + void add_ign(const Tagset& tagset); + bool operator==(const Token& other) const; + bool check_duplicate_lexemes() const; + bool remove_duplicate_lexemes(); + bool has_disamb_lexeme() const; + int count_disamb_lexemes() const; + std::pair<lexeme_filter_iterator, lexeme_filter_iterator> disamb_lexemes() const; + }; +} + +using namespace std; +using namespace Corpus2; + + +#endif /* SWIG_LIBCORPUS2_TOKEN_I */ -- GitLab