#ifndef SWIG_LIBCORPUS2_CORPUS_READER_I #define SWIG_LIBCORPUS2_CORPUS_READER_I %module libcorpusdocument %{ #include <libcorpus2_whole/io/documentreader.h> %} %include "std_defs.i" %include "tagset.i" %include "corpus.i" %template(DocumentReaderPtr) boost::shared_ptr<Corpus2::whole::DocumentReader>; %template(ConstDocumentReaderPtr) boost::shared_ptr<const Corpus2::whole::DocumentReader>; %template(DocumentReaderPtrVector) std::vector<boost::shared_ptr<Corpus2::whole::DocumentReader> >; namespace Corpus2 { namespace whole { class DocumentReader { public: DocumentReader(const Tagset& tagset, const std::string& corpus_type,const std::string& corpus_file_path, const std::string& corpus_reader); DocumentReader(const Tagset& tagset, const std::string& corpus_type,const std::string& corpus_file_path); boost::shared_ptr<Document> read(); }; } // whole ns } // Corpus2 ns using namespace std; using namespace Corpus2; using namespace Corpus2::whole; #endif /* SWIG_LIBCORPUS2_CORPUS_READER_I */