1 %module CRFPP
2 %include exception.i
3 %{
4 #include "crfpp.h"
5 %}
6 
7 %newobject surface;
8 %newobject CRFPP::Model::createTagger;
9 
10 %exception {
11   try { $action }
catch(char * e)12   catch (char *e) { SWIG_exception (SWIG_RuntimeError, e); }
catch(const char * e)13   catch (const char *e) { SWIG_exception (SWIG_RuntimeError, (char*)e); }
14 }
15 
16 %feature("notabstract") CRFPP::Model;
17 %feature("notabstract") CRFPP::Tagger;
18 %ignore CRFPP::createModel;
19 %ignore CRFPP::createModelFromArray;
20 %ignore CRFPP::createTagger;
21 %ignore CRFPP::getTaggerError;
22 %ignore CRFPP::getLastError;
23 
24 %extend CRFPP::Model { Model(const char *arg); }
25 %extend CRFPP::Tagger { Tagger(const char *arg); }
26 
27 %{
28 
delete_CRFPP_Model(CRFPP::Model * t)29 void delete_CRFPP_Model (CRFPP::Model *t) {
30   delete t;
31   t = 0;
32 }
33 
new_CRFPP_Model(const char * arg)34 CRFPP::Model* new_CRFPP_Model(const char *arg) {
35   CRFPP::Model *tagger = CRFPP::createModel(arg);
36   if (!tagger) throw CRFPP::getLastError();
37   return tagger;
38 }
39 
delete_CRFPP_Tagger(CRFPP::Tagger * t)40 void delete_CRFPP_Tagger (CRFPP::Tagger *t) {
41   delete t;
42   t = 0;
43 }
44 
new_CRFPP_Tagger(const char * arg)45 CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) {
46   CRFPP::Tagger *tagger = CRFPP::createTagger(arg);
47   if (!tagger) throw CRFPP::getLastError();
48   return tagger;
49 }
50 
51 %}
52 
53 %include ../crfpp.h
54 %include version.h
55