diff --git a/swig/corpus2.i b/swig/corpus2.i index 83890f2fb1fa298d96ac843695b9e24615d61977..3dbe4ae7b4ebeb4491f33677f6c4212067bdd007 100644 --- a/swig/corpus2.i +++ b/swig/corpus2.i @@ -10,6 +10,7 @@ %include "annotationchannel.i" %include "annotationview.i" %include "chunk.i" +%include "document.i" %include "iob.i" %include "lexeme.i" %include "relation.i" diff --git a/swig/document.i b/swig/document.i new file mode 100644 index 0000000000000000000000000000000000000000..20fc12cd5dda5736c0be436eadbe327b3eb5b4b1 --- /dev/null +++ b/swig/document.i @@ -0,0 +1,33 @@ +#ifndef SWIG_LIBCORPUS2_DOCUMENT_I +#define SWIG_LIBCORPUS2_DOCUMENT_I + +%module libcorpusdocument +%{ + #include <libcorpus2/document.h> +%} + +%include "std_defs.i" +%include "chunk.i" +%include "relation.i" + +%template(DocumentPtr) boost::shared_ptr<Corpus2::Document>; +%template(ConstDocumentPtr) boost::shared_ptr<const Corpus2::Document>; + +namespace Corpus2 { + class Document { + public: + Document(); + ~Document(); + + void add_paragraph(const boost::shared_ptr<Chunk> para); + void add_relation(const boost::shared_ptr<Relation> relation); + + const std::vector< boost::shared_ptr<Chunk> >& paragraphs() const; + const std::vector< boost::shared_ptr<Relation> >& relations() const; + }; +} + +using namespace std; +using namespace Corpus2; + +#endif /* SWIG_LIBCORPUS2_DOCUMENT_I */