From fe2d2bd6a1f1bc59b87c8724cc9af3fff6d07b50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <Pawel.Kedzia@pwr.wroc.pl>
Date: Tue, 3 Jan 2012 09:44:13 +0100
Subject: [PATCH] Wrapper for Corpus

---
 swig/corpus.i  | 33 +++++++++++++++++++++++++++++++++
 swig/corpus2.i |  2 ++
 2 files changed, 35 insertions(+)
 create mode 100644 swig/corpus.i

diff --git a/swig/corpus.i b/swig/corpus.i
new file mode 100644
index 0000000..4d3f8df
--- /dev/null
+++ b/swig/corpus.i
@@ -0,0 +1,33 @@
+#ifndef SWIG_LIBCORPUS2_CORPUS_I
+#define SWIG_LIBCORPUS2_CORPUS_I
+
+%module libcorpuscorpus
+%{
+  #include <libcorpus2_whole/corpus.h>
+%}
+
+%include "std_defs.i"
+%include "document.i"
+
+%template(CorpusPtr) boost::shared_ptr<Corpus2::whole::Corpus>;
+%template(ConstCorpusPtr) boost::shared_ptr<const Corpus2::whole::Corpus>;
+
+namespace Corpus2 {
+namespace whole {
+  class Corpus {
+  public:
+    Corpus(const std::string name = "");
+
+    void add_document(boost::shared_ptr<Document> document);
+
+    boost::shared_ptr<Document> next_document();
+    const std::vector<boost::shared_ptr<Document> > documents() const;
+  };
+} // whole ns
+} // Corpus2 ns
+
+using namespace std;
+using namespace Corpus2;
+using namespace Corpus2::whole;
+
+#endif /* SWIG_LIBCORPUS2_CORPUS_I */
diff --git a/swig/corpus2.i b/swig/corpus2.i
index b925343..e92d165 100644
--- a/swig/corpus2.i
+++ b/swig/corpus2.i
@@ -27,6 +27,8 @@
 %include "tokenreader.i"
 %include "tokenwriter.i"
 
+%include "corpus.i"
+
 %{
 #include <libcorpus2/util/settings.h>
 static void set_verbose(bool v) {
-- 
GitLab