%module openbabel %{ // used to set import/export for Cygwin DLLs #ifdef WIN32 #define USING_OBDLL #endif #include #include #include #include #include #include #include #include #include #include #include #include #include %} %include "std_map.i" %include "std_vector.i" %include "std_string.i" namespace std { %template (vectorInt) vector; %template (vvInt) vector< vector >; %template (vectorDouble) vector; %template (vVector3) vector; %template (vectorMol) vector; %template (vectorBond) vector; %template (vectorResidue) vector; %template (vectorRing) vector; %template (vectorData) vector; } %import %apply std::string &OUTPUT { std::string &to }; %include %include %include %import %include %include %import %import %import %include %include %include %include %include %include %include %include %include %rename(inc) OpenBabel::OBMolAtomIter::operator++; %rename(inc) OpenBabel::OBMolBondIter::operator++; %rename(inc) OpenBabel::OBAtomAtomIter::operator++; %rename(inc) OpenBabel::OBAtomBondIter::operator++; %rename(good) OpenBabel::OBMolAtomIter::operator bool; %rename(good) OpenBabel::OBMolBondIter::operator bool; %rename(good) OpenBabel::OBAtomAtomIter::operator bool; %rename(good) OpenBabel::OBAtomBondIter::operator bool; %rename(good) OpenBabel::OBMolAtomIter::operator bool; %rename(deref) OpenBabel::OBMolAtomIter::operator->; %rename(deref) OpenBabel::OBMolBondIter::operator->; %rename(deref) OpenBabel::OBAtomAtomIter::operator->; %rename(deref) OpenBabel::OBAtomBondIter::operator->; %rename(inc) OpenBabel::OBResidueIter::operator++; %rename(inc) OpenBabel::OBResidueAtomIter::operator++; %rename(good) OpenBabel::OBResidueIter::operator bool; %rename(good) OpenBabel::OBResidueAtomIter::operator bool; %rename(deref) OpenBabel::OBResidueAtomIter::operator->; %rename(deref) OpenBabel::OBResidueBondIter::operator->; %include