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 @@ ...@@ -18,13 +18,15 @@
%nodefaultctor Corpus2::TokenReader; %nodefaultctor Corpus2::TokenReader;
%template(TokenReaderPtr) boost::shared_ptr<Corpus2::TokenReader>; %template(TokenReaderPtr) boost::shared_ptr<Corpus2::TokenReader>;
%template(TokenPtr) boost::shared_ptr<Corpus2::Token>;
// %template(StdStringVector) std::vector<std::string>; // %template(StdStringVector) std::vector<std::string>;
// %template(ChunkPtr) boost::shared_ptr<Corpus2::Chunk>; // %template(ChunkPtr) boost::shared_ptr<Corpus2::Chunk>;
typedef boost::shared_ptr<Corpus2::Token> TokenPtr;
namespace Corpus2 { namespace Corpus2 {
class TokenReader { class TokenReader {
public: public:
typedef boost::shared_ptr<TokenReader> TokenReaderPtr; typedef boost::shared_ptr<TokenReader> TokenReaderPtr;
//typedef boost::shared_ptr<Token> TokenPtr;
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
explicit TokenReader(const Tagset& tagset); explicit TokenReader(const Tagset& tagset);
...@@ -58,7 +60,7 @@ namespace Corpus2 { ...@@ -58,7 +60,7 @@ namespace Corpus2 {
std::istream& stream); std::istream& stream);
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
virtual Token* get_next_token() = 0; /* virtual Token* get_next_token() = 0; */
virtual Sentence::Ptr get_next_sentence() = 0; virtual Sentence::Ptr get_next_sentence() = 0;
virtual boost::shared_ptr<Chunk> get_next_chunk() = 0; virtual boost::shared_ptr<Chunk> get_next_chunk() = 0;
virtual bool has_more() = 0; virtual bool has_more() = 0;
...@@ -76,6 +78,13 @@ namespace Corpus2 { ...@@ -76,6 +78,13 @@ namespace Corpus2 {
static std::vector<std::string> available_reader_types_help(); 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( std::vector<boost::shared_ptr<Chunk> > read_chunks_from_utf8_string(
const std::string& data, const Tagset& tagset, const std::string& format); 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