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)29void delete_CRFPP_Model (CRFPP::Model *t) { 30 delete t; 31 t = 0; 32 } 33 new_CRFPP_Model(const char * arg)34CRFPP::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)40void delete_CRFPP_Tagger (CRFPP::Tagger *t) { 41 delete t; 42 t = 0; 43 } 44 new_CRFPP_Tagger(const char * arg)45CRFPP::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