Skip to content
Snippets Groups Projects
Commit 08aab0c3 authored by Adam Radziszewski's avatar Adam Radziszewski
Browse files

wrap SWIG Token* to shared_ptr

parent 99388c53
Branches
No related merge requests found
......@@ -18,13 +18,15 @@
%nodefaultctor Corpus2::TokenReader;
%template(TokenReaderPtr) boost::shared_ptr<Corpus2::TokenReader>;
%template(TokenPtr) boost::shared_ptr<Corpus2::Token>;
// %template(StdStringVector) std::vector<std::string>;
// %template(ChunkPtr) boost::shared_ptr<Corpus2::Chunk>;
typedef boost::shared_ptr<Corpus2::Token> TokenPtr;
namespace Corpus2 {
class TokenReader {
public:
typedef boost::shared_ptr<TokenReader> TokenReaderPtr;
//typedef boost::shared_ptr<Token> TokenPtr;
/* --------------------------------------------------------------------- */
explicit TokenReader(const Tagset& tagset);
......@@ -58,7 +60,7 @@ namespace Corpus2 {
std::istream& stream);
/* --------------------------------------------------------------------- */
virtual Token* get_next_token() = 0;
/* virtual Token* get_next_token() = 0; */
virtual Sentence::Ptr get_next_sentence() = 0;
virtual boost::shared_ptr<Chunk> get_next_chunk() = 0;
virtual bool has_more() = 0;
......@@ -76,6 +78,13 @@ namespace Corpus2 {
static std::vector<std::string> available_reader_types_help();
};
%extend TokenReader {
/* modfify the native get_next_token to wrap the tokens into shared_ptr */
boost::shared_ptr<Corpus2::Token> get_next_token() {
return boost::shared_ptr<Corpus2::Token>(self->get_next_token());
}
}
std::vector<boost::shared_ptr<Chunk> > read_chunks_from_utf8_string(
const std::string& data, const Tagset& tagset, const std::string& format);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment